2
我遇到了durandal/knockout/sammy的问题 - 不知道哪一个是罪魁祸首。偶尔我的var roots = ko.observableArray([]);没有被绑定到UI。大多数时候它完美地工作。希望有人能看到我不喜欢的东西。Knockout observable array随机不绑定
VM激活:
var activate = function() {
groupsData.GetRoots().then(function (data) {
roots($.map(data, function (it) { return new groupNode.GroupNode(it); }));
//If I do a console.log(roots()); right here, the correct data shows up
});
};
的DataContext:
var getRoots = function() {
return Q.when($.getJSON(Url));
};
我的观点: 如果我打在它的 '长度' 刷新一遍又一遍,跨度会显示正确的长度MOST的时间。偶尔它会是0,并且foreach里面的UI不会显示。
<span data-bind="text: roots().length"></span>
<ul data-bind="foreach: roots">
//BLA
</ul>