ken*_*eiv 11 javascript knockout.js
使用Knockout 2.0使用此数据绑定:
data-bind="click: $root.deleteSomeEntity.bind($data, $parent)"
Run Code Online (Sandbox Code Playgroud)
在Knockout viewmodel JavaScript中的第一个参数
self.deleteSomeEntity = function (data, parent) {
// perform deletion
}
Run Code Online (Sandbox Code Playgroud)
似乎是父母而不是数据.
是否有这种行为的原因或我缺少的东西?
RP *_*yer 12
当你调用bind第一个参数时将是值this.因此,在您的通话this中$data,第一个参数将是$parent.
如果$root是$parent这种情况,那么你可以这样做:
$root.deleteSomeEntity.bind($root)
KO将数据作为第一个参数传递,this并将设置为$root.
如果$parent不是$root(你可能不想依赖于你的方法在root 上this的另一个对象$root),那么你会做类似的事情:
$root.deleteSomeEntity.bind($root, $data, $parent)
否则,肯定有一些方法可以确保您this在视图模型中具有适当的功能.这取决于你的结构.
| 归档时间: |
|
| 查看次数: |
3251 次 |
| 最近记录: |