У меня есть список опций меню, и каждый пункт меню имеет свой собственный экземпляр 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
и отображает только свойство имени, но было отображено при первоначальном вызове.
Пожалуйста, помогите мне исправить это.