Canjs наблюдаемый список записей для автоматического обновления DOM
Как мне определить наблюдаемый объект вместо {case: records} в этом коде, чтобы автоматически обновлять dom после обновления этой наблюдаемой:
init : function( element , options ){
var el = this.element;debugger;
SObjectModelExt.findAll({sobject: new SObjectModel.Case()}).then(function(records){
el.html( can.view('casesView', {cases: records}));
});
}
Это can.Map({case: []}) или can.List? Как использовать его в помощнике усов? {{# каждый случай}}?
Я пытался использовать как
this.records = new can.Map({case: []});
el.html( can.view('casesView', {cases: records}));
и позже в коде, чтобы сделать
this.records.attr('cases', entries);
но это не обновляет дом.
1 ответ
Решение
Вы должны иметь возможность инициализировать пустой список, а затем заменить его данными, которые вы вернули, что должно обновить список. Вы также можете назначить этот список для дальнейшего использования:
init : function( element , options ){
var el = this.element;
var cases = this.cases = new can.List();
SObjectModelExt.findAll({sobject: new SObjectModel.Case()}).then(function(records){
cases.replace(records);
el.html( can.view('casesView', { cases: cases }));
});
}
Тогда вы должны просто иметь возможность ссылаться на него через this.cases
позже и удалите и добавьте элементы в этот список.