У нас есть большой вложенный наблюдаемый массив, отображаемый шаблонами для создания древовидного вида. Список является динамическим, но в нем есть потенциально более 1000 элементов.производительность нокаута - можете ли вы связывать свойства, если ваши объекты не наблюдаются?
У нас возникают проблемы с загрузкой и поиском этой коллекции - наиболее заметно в IE8 и iPad. Chrome выглядит нормально.
Элементы в коллекции фактически не меняются, поэтому я не думаю, что нам нужны «уведомления» об аспектах наблюдаемых, но мы хотим использовать привязку данных.
Есть ли способ сделать привязку данных к объектам в вашей модели просмотра, которые не наблюдаются? Есть ли способ создания не наблюдаемых комплексных коллекций данных без использования ko.mapping.fromJS()?
Спасибо за ваш вклад. Это не так, что мы хотим сопоставить один объект с другим, а скорее хотим получить доступ к объекту для привязки свойств к шаблонам, отображающим дерево. – Beth
@Beth - Я в замешательстве относительно вашей проблемы? Что вы подразумеваете под «мы хотим получить доступ к объекту для привязки»? Если вы создаете простой старый js-объект с не наблюдаемыми свойствами и используете односторонние привязки KO, такие как текст, он работает отлично. – madcapnmckay
В текущей реализации мы получаем данные из переменной codebehind, чтобы вытащить ее в aspx. Когда мы добавляем его в модель представления, используя плагин отображения, например. viewModel.vmAvailablePages = ko.mapping.fromJS (dataAvailablePages); - все хорошо. Но если мы удалим оболочку отображения, например. viewModel.vmAvailablePages = dataAvailablePages - тогда мы получаем ошибки привязки. – Beth