我有以下助手定义:JsViews数据链路助手功能
$.views.helpers({
total: function(lines) {
var total = 0;
for (var i = 0; i < lines.length; i++) {
total += lines[i].price * lines[i].quantity;
}
return total;
}
});
然后我有以下代码到数据我的模型链接到我的观点:在视图中
var model = {
lines: []
};
$("#lines").link(true, model);
最后我有以下几点:
<span data-link="~total(lines)"></span>
然而,每当我观察地添加或删除的数组项它没有ü更新总数。我读过你可以将lines.length传入函数,并且每次添加或删除一个项目时都会更新总数。但是,当我明显地更新数量属性对任何行,总没有更新。
我会很感激,如果有人能告诉我如何做到这一点。
感谢
感谢鲍里斯。我一直在生产中使用它一段时间,它一直非常稳定,所以我相信一个v1并不遥远。我只会要求一个小建议。如果你可以说$(selector).link(model)而不是传入true,那将会很好。看看代码,它应该只是检查第一个参数是否为对象的一种情况。 – nfplee
使用$(selector).link(true,model ...)的语法具有与$(selector).link(linkExpression,model ...)明显不同的优点。如果存在“true”,那么它将激活声明式数据链接表达式。如果没有,那么它以编程方式绑定linkExpression。传递布尔值的努力是我认为API的更多'自我记录'性质是合理的。第二个参数始终是模型。第一个是用于声明性绑定的标志(真),或者是用于编程式绑定的表达式。 – BorisMoore
感谢您的澄清。你有任何程序化绑定的例子吗?我只通过传入true来使用声明性绑定。 – nfplee