明确更改敲除可观察值

时间:2014-03-26 14:43:13

标签: knockout.js

我想明确改变一个淘汰观察。我尝试过这样的事情,但发生的事情是整数被写入变量并且observable被写了:

self.test = ko.observable(); 

var array = [1,3,4]; 

self.test = array.length; //self.test is no longer an observable, is now an int with value of 3

我也尝试过这样的事情:

self.numOfAsstsInUpdateGrid() = self.dynamicData.length;

但是我收到了“分配中无效的左侧”错误

2 个答案:

答案 0 :(得分:1)

self.test(array.length);

这会将测试保留为可观察对象并将其设置为等于array.length。每当您设置可观察值的值时,都会在括号中传递所需的值。

答案 1 :(得分:0)

如果您打算使用数组我建议使用ko.observableArray。其中有一些很好的帮手功能,比如删除。更改observable的值可以通过将值传递给observable函数来完成。像这样

self.test = ko.observable();

self.test([1,3,4]);

调用该函数将返回值。

var length = self.test()。length;