观察 MyArray().length 敲出
Observe MyArray().length knock out
是否可以将可观察数组的长度存储在可观察变量中并将其绑定到视图中,如下所示?
self.MyArray = ko.observableArray([]);
self.MyArraylength = self.MyArray().length;
//Bind in view
self.Observelength = ko.observable(self.MyArraylength);
当我提醒 MyArray 长度时,它似乎更新正确,但无法让它在视图中更新?
因为 MyArrayLength 不可观测,所以当可观察量更新时它不会更新。您需要一个计算函数。
您应该具备:
self.MyArray = ko.observableArray([]);
// bind in view
self.Observelength = ko.computed(function(){
return self.MyArray().length;
});
以下两个语句:
self.MyArraylength = self.MyArray().length;
ko.observable(self.MyArraylength);
仅包含一个数字作为其值。不再引用原始数组或其长度。
您需要改为计算长度:
self.ObserveLength = function() {
return self.MyArray().length;
};
或者,您可以subscribe
数组上的更改,然后更新length
:
self.MyArray.subscribe(function() {
self.MyArraylength = self.MyArray().length;
});
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 调整窗口大小时,可拖动的对象会出现在容器外部
- Javascript排序的图像弹出窗口..可以't单独弹出
- 弹出窗口出现,然后退出
- TypeError:在不兼容的接收器nodejs上调用了方法Uint8Array.length
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 从信息框调用弹出图像库
- Array.length似乎不起作用;console.log则显示其他情况
- 离开页面时弹出消息
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- IE8抛出“;不支持此命令“;使用attr类型对数据绑定使用敲除时出错
- $('.products ul-li').length在我注入照片之前输出0,在照片出现时输出5,但当我
- 敲出$parent点击click事件很好,但是结果对象的属性没有定义
- Javascript美元(& # 39;李# 39;).Length调用会抛出未捕获的异常
- 改变数据从服务器在敲出js
- 使用敲除js弹出
- 观察 MyArray().length 敲出
- new Array(length)给出错误的大小
- 在嵌套数组的单个元素上敲出js foreach
- 敲出数据绑定不工作