0

我正在尝试对淘汰赛视图模型进行一些重构。从模型对象中分离一些视图逻辑开始。

我想知道在使用可见绑定时是否有办法将值传回?

我目前的情况是我处于 Foreach 循环中。我想将 Knockout 正在迭代的对象传回给我在可见绑定上调用的方法:

data-bind="visible: SomeMethod"

data-bind="visible: SomeMethod(object)"

该方法显然是一个 ko.computed 函数,我试图将值传回给它,但没有成功。它总是未定义的。

var SomeMethod = ko.computed(function() {
.....
}

如果这是可能的,有什么想法吗?

4

1 回答 1

2

Knockout 在计算的 observable 中执行绑定以跟踪依赖关系。我不确定您的确切目标,但您可以在您的情况下使用正常功能。

var SomeMethod = function(item) {
     //do something with the item and return a value

};

根据您要传递的内容,您可能希望$data在绑定中使用,例如:

data-bind="visible: SomeMethod($data)"

另一个更常用的选择是在每个返回适当值的项目上实际放置一个计算值。如果您传递给函数的值在项目本身上表示,那么您应该能够创建一个计算来干净地表示它的值。

于 2012-11-07T15:44:43.637 回答