Предположим, что у нас есть следующий лайаут приложения:
ns.layout.defined({
'app': {
'boxItem@': {
'itemView': {}
},
'itemCheckerCollection': {}
}
});
Приложение выводит в бокс элемент, выбранный в из списка коллекции itemCheckerCollection.
И itemView и элемент коллекции itemCheckerCollection зависят от одной и той же модели.
Предположим, что мы изменяем выводимый элемент коллекции, задавая новые параметры страницы и вызывает ns.page.go(). Формируется новый HTML страницы, в котором все элементы коллекции были валидны и их не нужно перерисовывать. Вызывается ns-view-hide у неактуального itemView.
При обработке этого события мы инвалидируем модель, с которой связан элемент коллекции itemCheckerCollection.
Данный действие приводит к ошибке, т.к. дальнейший обход дерева HTML не может найти новый элемент для невалидной вью коллекции itemCheckerCollection (напомню, что на момент формирования дерева HTML все элементы коллекции itemCheckerCollection были валидны).
Нужно как-то разрешить эту проблему, чтобы дерево HTML всегда было актуально для каждой фазы обработки.
Предположим, что у нас есть следующий лайаут приложения:
Приложение выводит в бокс элемент, выбранный в из списка коллекции
itemCheckerCollection.И
itemViewи элемент коллекцииitemCheckerCollectionзависят от одной и той же модели.Предположим, что мы изменяем выводимый элемент коллекции, задавая новые параметры страницы и вызывает
ns.page.go(). Формируется новый HTML страницы, в котором все элементы коллекции были валидны и их не нужно перерисовывать. Вызываетсяns-view-hideу неактуальногоitemView.При обработке этого события мы инвалидируем модель, с которой связан элемент коллекции
itemCheckerCollection.Данный действие приводит к ошибке, т.к. дальнейший обход дерева HTML не может найти новый элемент для невалидной вью коллекции
itemCheckerCollection(напомню, что на момент формирования дерева HTML все элементы коллекцииitemCheckerCollectionбыли валидны).Нужно как-то разрешить эту проблему, чтобы дерево HTML всегда было актуально для каждой фазы обработки.