我有一种情况,我想通知 subview 模型中发生的单击事件,其祖 parent 或$ parents [1]。所以基本上我希望能够做到这一点

self.$parents[1].actionTaken

我认为由于绑定(bind)上下文与viewModel的关系而无法正常工作,但我想听听是否有人对执行此类操作的正确方法有想法。谢谢
 self.save = function () {

     //do stuff to self first, then

      self.$parents[1].actionTaken();

};

最佳答案

另外,您可以通过以下方式将参数传递给 View 模型的事件处理程序:
更改您的save方法

self.save = function(theParents) {
    theParents[1].actionTaken();
}

并通过以下方式绑定(bind)处理程序:
data-bind="click: function() { $data.save($parents) }"

有关更多信息,请引用Note 2 in the click handler's documentation(您需要稍微降低一点)

关于knockout.js - 如何在 knockout View 模型单击事件中访问$ parent或$ parents []?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18138379/

10-14 10:09
查看更多