У меня возникли проблемы с загрузкой элементов, используя мою текущую структуру отображения Knockout.js. Я использую Sammy.js для сопоставления URL-адресов с представлениями и jqueryUI, чтобы добавить некоторые анимации на сайт. У меня нет проблем с загрузкой «нормальных» элементов, но в этом приложении мне нужно использовать графики и диаграммы. Я использую для них Chartist.js и JustGage.js. Также я должен отметить, что я использую Parse в качестве базы данных.Сохранение элементов, загруженных с помощью нокаута, в SPA
Проблема заключается в том, что при замене взглядов датчики и диаграммы не загружаются, прежде чем приходить в поле зрения, по существу «разрушая» опыт анимации. Когда сначала загружается представление, содержимое загружается правильно. Нужно ли использовать какую-то пользовательскую привязку, или как это можно зафиксировать, чтобы диаграммы и датчики загружались правильно, прежде чем их просматривать в веб-приложении. Я загрузил свой код в JSFiddle here.
Я сделал переменную startView, так что сначала можно легко изменить загружаемое представление.
связывания My KO выглядит следующим образом:
var View = function (title, templateName, data) {
var self = this;
this.title = title;
this.templateName = templateName;
this.data = data;
};
var dashboardView = {
//ko.observables here...
};
//viewModel which consists of multiple subviews
var viewModel = {
views: ko.observableArray([
new View("Dashboard", "dashboard", dashboardView),
selectedView: ko.observable()
};
//Apply knockout bindings
ko.applyBindings(viewModel);