Если вы используете маршрутизацию, просто перенаправьте пользователя в модуль на основе экземпляра (тот, который возвращает функцию-конструктор). Пользователь, скорее всего, нажмет или коснется кнопки, которая означает, что он закончил с регистрационной формой. Это будет действие перенаправления.
Если вы используете композицию, вы все равно должны создать модуль на основе экземпляра. Затем вы должны использовать динамическую композицию, чтобы заменить ее, как только пользователь укажет, что он закончил с регистрационной формой.
Динамическая композиция — это когда атрибуты представления и/или модели в композиции Дюрандаля сами по себе являются наблюдаемыми объектами, ссылаясь на что-то вроде следующего в модели представления:
this.currentView = ko.observable('');
this.currentModel = ko.observable('');
Затем в вашем HTML:
<div>
<div data-bind="compose: {view: currentView(), model: currentModel())"></div>
</div>
Когда пользователь нажимает «Готово» или что-то в этом роде, функции в вашей модели просмотра могут выглядеть примерно так:
ctor.prototype.done = function () {
this.setCurrentView('viewmodels/registrationForm.html');
this.setCurrentModel('viewmodels/registrationForm.js');
}
ctor.prototype.setCurrentView = function (view) {
this.currentView(view);
}
ctor.prototype.setCurrentModel = function (model) {
this.currentModel(model);
}
При любом из описанных выше подходов регистрационная форма будет создаваться только тогда, когда это необходимо.
person
Community
schedule
12.04.2014