https://github.com/dFiddle/dFiddle-2.0/blob/gh-pages/app/masterDetail/wizard/index.js
当我查看此向导时,我问自己如何将变量(例如处于向导的编辑或添加模式中的模式)传递给创建 step1、step2 和 step3 的 index.js。
我看不到我可以在哪里传递这些数据,因为作为包含所有步骤的主向导的 index.js 是由 durandal 动态创建的。
那么如何将数据传递给 index.js 以便我可以决定是运行 service.create() 还是 service.edit() 函数来获取不同的数据等...
更新
define(['durandal/app','plugins/dialog', 'knockout', 'services/dataservice', 'plugins/router', 'moment'], function (app, dialog, ko, dataservice, router, moment) {
var SchoolyearDialog = function () {
var self = this;
self.activeScreen = ko.observable('viewmodels/SchoolyearBrowser'); // set the schoolyear browser as default module
app.on('startWizard').then(function (obj) {
self.activeScreen(obj.moduleId);
});
app.on('dialog:close').then(function (options) {
dialog.close(self, options );
});
self.closeDialog = function () {
dialog.close(self, { isSuccess: false });
}
}
SchoolyearDialog.show = function () {
return dialog.show(new SchoolyearDialog());
};
SchoolyearDialog 模块控制显示哪个屏幕。SchoolyearDialog 订阅了 startWizard 事件。按下 createWizard 按钮会触发 startWizard 事件。还有一个 editWizard 按钮可以触发另一个事件,例如 startWizardEdit。activeScreen 设置为默认模块 ID:“viewmodels/SchoolyearBrowser”或模块 ID:“viewmodels/SchoolyearWizard”,它会加载向导
是否有可能以某种方式将 activeScreen 属性传递一个值(viewMode)并在保存步骤的向导模块中检索它?