Javascript 为什么我的$parent绑定上下文在Knockout.js foreach模板中为空?
我通过敲除调用以下模板:Javascript 为什么我的$parent绑定上下文在Knockout.js foreach模板中为空?,javascript,html,data-binding,knockout.js,Javascript,Html,Data Binding,Knockout.js,我通过敲除调用以下模板: <script type="text/html" id="uploaded-files-template"> <li data-bind="text: original_name"></li> <pre data-bind="text: ko.toJSON($parent, null, 2)"></pre> </script> 它是通过AJAX填充的,如下所示: 然后继续: $.
<script type="text/html" id="uploaded-files-template">
<li data-bind="text: original_name"></li>
<pre data-bind="text: ko.toJSON($parent, null, 2)"></pre>
</script>
它是通过AJAX填充的,如下所示:
然后继续:
$.each(message.objects, function(index, object) {
self.uploadedFiles.push(object);
});
如果我用
$data
替换$parent
,我可以看到当前迭代正在输出。知道为什么这个$parent
没有显示任何内容吗 模板和绑定没有问题,请参阅工作
您的viewModel或viewModel填充中肯定存在错误。模板和绑定没有问题,请参阅工作
您的viewModel或viewModel填充中肯定存在错误。模板和绑定没有问题,请参阅工作
您的viewModel或viewModel填充中肯定存在错误。模板和绑定没有问题,请参阅工作
在您的viewModel或viewModel填充中必须是错误的。错误。。。这太尴尬了。我的
$parent
上下文为空,只是因为我没有实例化我的ViewModel。我是这样做的:
$(document).ready(function() {
ko.applyBindings(uploadViewModel);
});
$(document).ready(function() {
ko.applyBindings(new uploadViewModel());
});
当我应该这样做的时候:
$(document).ready(function() {
ko.applyBindings(uploadViewModel);
});
$(document).ready(function() {
ko.applyBindings(new uploadViewModel());
});
不过,感谢Max Brodin&Supercol的帮助 呃。。。这太尴尬了。我的
$parent
上下文为空,只是因为我没有实例化我的ViewModel。我是这样做的:
$(document).ready(function() {
ko.applyBindings(uploadViewModel);
});
$(document).ready(function() {
ko.applyBindings(new uploadViewModel());
});
当我应该这样做的时候:
$(document).ready(function() {
ko.applyBindings(uploadViewModel);
});
$(document).ready(function() {
ko.applyBindings(new uploadViewModel());
});
不过,感谢Max Brodin&Supercol的帮助 呃。。。这太尴尬了。我的
$parent
上下文为空,只是因为我没有实例化我的ViewModel。我是这样做的:
$(document).ready(function() {
ko.applyBindings(uploadViewModel);
});
$(document).ready(function() {
ko.applyBindings(new uploadViewModel());
});
当我应该这样做的时候:
$(document).ready(function() {
ko.applyBindings(uploadViewModel);
});
$(document).ready(function() {
ko.applyBindings(new uploadViewModel());
});
不过,感谢Max Brodin&Supercol的帮助 呃。。。这太尴尬了。我的
$parent
上下文为空,只是因为我没有实例化我的ViewModel。我是这样做的:
$(document).ready(function() {
ko.applyBindings(uploadViewModel);
});
$(document).ready(function() {
ko.applyBindings(new uploadViewModel());
});
当我应该这样做的时候:
$(document).ready(function() {
ko.applyBindings(uploadViewModel);
});
$(document).ready(function() {
ko.applyBindings(new uploadViewModel());
});
不过,感谢Max Brodin&Supercol的帮助 *完美!你是对的,虚拟机中一定有问题。我看不出我的虚拟机有什么不同,除了你向你的虚拟机传递了一个
items
参数,而我不能这样做。我已经在我的虚拟机中声明了我的uploadedFiles
observable数组,并在我的虚拟机中填充了它。类似的东西也应该可以工作。@supercool,我完全不知道为什么这对你有效,但对我无效。为了填充数组,我将对象推上,但这不会有什么区别,当然……嗯,我找到了答案。看看下面我的。谢谢大家的帮助。*太好了!你是对的,虚拟机中一定有问题。我看不出我的虚拟机有什么不同,除了你向你的虚拟机传递了一个items
参数,而我不能这样做。我已经在我的虚拟机中声明了我的uploadedFiles
observable数组,并在我的虚拟机中填充了它。类似的东西也应该可以工作。@supercool,我完全不知道为什么这对你有效,但对我无效。为了填充数组,我将对象推上,但这不会有什么区别,当然……嗯,我找到了答案。看看下面我的。谢谢大家的帮助。*太好了!你是对的,虚拟机中一定有问题。我看不出我的虚拟机有什么不同,除了你向你的虚拟机传递了一个items
参数,而我不能这样做。我已经在我的虚拟机中声明了我的uploadedFiles
observable数组,并在我的虚拟机中填充了它。类似的东西也应该可以工作。@supercool,我完全不知道为什么这对你有效,但对我无效。为了填充数组,我将对象推上,但这不会有什么区别,当然……嗯,我找到了答案。看看下面我的。谢谢大家的帮助。*太好了!你是对的,虚拟机中一定有问题。我看不出我的虚拟机有什么不同,除了你向你的虚拟机传递了一个items
参数,而我不能这样做。我已经在我的虚拟机中声明了我的uploadedFiles
observable数组,并在我的虚拟机中填充了它。类似的东西也应该可以工作。@supercool,我完全不知道为什么这对你有效,但对我无效。为了填充数组,我将对象推上,但这不会有什么区别,当然……嗯,我找到了答案。看看下面我的。谢谢大家的帮助。