【发布时间】:2015-10-24 15:31:09
【问题描述】:
我想知道如何在下面的 GetArray1() 和 GetArray2() 的敲除可观察数组中跟踪评估次数。 我已经阅读了来自 fiddle link 的示例,但不知道如何适应这种情况。
var data1 = [{
"Hours": 1
}, {
"Hours": 2
}, {
"Hours": 3
}];
function ViewModel() {
var self = this;
self.sampleArray = ko.observableArray([]);
var newData = ko.mapping.fromJS(data1)();
self.GetArray = function() {
ko.utils.arrayForEach(newData, function (item) {
self.sampleArray.push(item) //push here
});
}
self.GetArray2 = function() {
$.each(newData, function (index, value) {
self.sampleArray.push(value) //push here
});
}
self.GetArray();
self.GetArray2();
}
ko.applyBindings(new ViewModel())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.4.1/knockout.mapping.min.js"></script>
<div data-bind="foreach:sampleArray">
<p data-bind="text:Hours"></p>
<br/>
</div>
【问题讨论】:
-
您想跟踪评估
sampleArray的次数吗?只有计算的属性会被自动评估。你没有计算属性, -
您拥有的链接中的所有内容。工作样本在这里jsfiddle.net/nejdqktq/6让我们知道
-
@supercool 谢谢知道了 :)