У меня есть следующие хелперы определены:JsViews Data-Link Helper Функция
$.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>
Однако, когда я наблюдаю добавление или удаление элементов из массива, это не так pdate итог. Я читал, что вы можете передать в line.length функцию, и действительно, она обновляла общее количество каждый раз, когда я добавлял или удалял элемент. Но когда я наблюдал обновленное свойство количества против любой из строк, сумма не обновлялась.
Буду признателен, если кто-нибудь покажет мне, как это сделать.
Благодаря
Спасибо Борису , Я использовал его в производстве на некоторое время, и он был очень стабильным, поэтому я уверен, что v1 не за горами. Я бы попросил только одно небольшое предложение. Было бы неплохо, если бы вы могли сказать $ (селектор) .link (model) вместо передачи в true. Если посмотреть на код, это должен быть случай проверки, является ли первый параметр объектом. – nfplee
Синтаксис с использованием $ (селектор) .link (true, model ...) имеет то преимущество, что он четко отличается от $ (селектор) .link (linkExpression, model ...). Если существует «истина», то она активирует декларативные выражения для передачи данных. Если нет, то он программно связывает linkExpression. Усилия прохождения в этом булевом я считаю оправданным тем, что «самодокументирующийся» характер API. Второй параметр всегда является моделью. Первый - это либо флаг (true) для декларативного связывания, либо выражение - для программной привязки. – BorisMoore
Спасибо за разъяснение. Есть ли у вас примеры связывания программ? Я использовал только декларативное связывание, передавая true. – nfplee