我正在使用RactiveJS,在使用数组时遇到问题,这是我的初始配置:
JSFIDDLE:http://jsfiddle.net/18fccpnj/
var ractive = new Ractive({
el: 'container',
template: '#template',
// Here, we're passing in some initial data
data: { students: [
{name: "Miguel Crespo", note: 5}
]}
});
我的html上有一个触发事件的按钮
<button on-click="charge">Cargar otro</button>
这是事件句柄:
ractive.on("charge", function(){
ractive.set("students", [
{name: "Miguel Crespo", note: 5},
{name: "Pedro Perez", note: 3}
]);
});
此调用永远不会更新视图,我不知道为什么,因为在官方页面中这样的示例有效!
感谢您的帮助。
答案 0 :(得分:0)
对块[[#each students:num]]
使用静态分隔符声明在初始渲染后不会更新它。将它们更改为{{#each students:num}}
,它可以正常工作(请参阅http://jsfiddle.net/18fccpnj/4/)。
也无需重置整个阵列上的数据,只需推送新成员即可:
ractive.push("students", {name: "Pedro Perez", note: 3});