我有菜单选项列表,每个菜单项都有自己的 Ractive 实例,具有不同的模板但共享数据相同。当每个选择发生变化时,我会调用teardown()
渲染视图实例和render(domElement)
当前选择的 Ractive 实例。
一个示例实例如下所示,并且都遵循相同的结构。
var View = new Ractive({
template: '#contacts',
data: {
name: 'Contacts',
contacts : dummyData // array data
}
});
我将它们渲染如下
var isRendered = false;
channel.subscribe("menu", function(msg) {
if(msg === "contacts") {
contentHolder.innerHTML = "";
View.render(contentHolder);
isRendered = true;
} else {
if(isRendered) {
View.teardown();
isRendered = false;
console.log(View.get('contacts')); // Here I can see the data.
}
}
});
在第一次render()
调用视图中按预期呈现,但在调用之后teardown()
,如果我再次调用render()
它不会呈现contacts
列表数据并且只显示名称属性,但在初始调用时呈现。
请帮我解决这个问题。