Knockout.js 为什么foreach数据绑定不创建$parent上下文?
在下面的代码中,为什么在没有Knockout.js 为什么foreach数据绑定不创建$parent上下文?,knockout.js,Knockout.js,在下面的代码中,为什么在没有$parent的情况下可以访问remove处理程序 如果我使用data bind=“click:$parent.remove”我会得到一个错误,说未定义的属性remove不存在,但是在foreach循环中,我不应该得到$parent上下文吗 模板: <ul data-bind="foreach:list"> <li><!-- ko text: $data --><!-- /ko --> <button da
$parent
的情况下可以访问remove
处理程序
如果我使用data bind=“click:$parent.remove”
我会得到一个错误,说未定义的属性remove不存在
,但是在foreach循环中,我不应该得到$parent
上下文吗
模板:
<ul data-bind="foreach:list">
<li><!-- ko text: $data --><!-- /ko --> <button data-bind="click: remove">x</button></li>
</ul>
在创建viewmodel时,您缺少新的
您的代码应该如下所示:
ko.applyBindings(new ViewModel());
如果不使用new
,此
引用全局窗口
对象,因此您的remove
函数是全局声明的,这就是$parent
不起作用的原因
演示。在创建viewmodel时,您缺少新的
您的代码应该如下所示:
ko.applyBindings(new ViewModel());
如果不使用new
,此
引用全局窗口
对象,因此您的remove
函数是全局声明的,这就是$parent
不起作用的原因
演示。在创建viewmodel时,您缺少新的
您的代码应该如下所示:
ko.applyBindings(new ViewModel());
如果不使用new
,此
引用全局窗口
对象,因此您的remove
函数是全局声明的,这就是$parent
不起作用的原因
演示。在创建viewmodel时,您缺少新的
您的代码应该如下所示:
ko.applyBindings(new ViewModel());
如果不使用new
,此
引用全局窗口
对象,因此您的remove
函数是全局声明的,这就是$parent
不起作用的原因
演示