我需要制作具有多个步骤的动态表单(向导)。现在我想能够在将来快速向向导添加新步骤(或删除它们),所以我不想为每个步骤创建单独的路径,如下所示:
this.resource('wizard', { path: '/' }, function() {
this.route('step1', { path: '/' });
this.route('step2');
this.route('step3');
this.route('step4');
this.route('step5');
});
我更喜欢有一个动态段,它接受步骤的名称并加载相同名称的相应模板,如此
this.resource('wizard', { path: '/' }, function() {
this.route('step', { path: '/:step' });
});
这是完全可能还是这只是一厢情愿的想法。
答案 0 :(得分:0)
我想出了一个解决方案,但我不确定它是否被认为是最好的...
我已在路由器中定义了一条路线,以接收带有模板名称的动态段:
this.resource('wizard', { path: '/wizard' }, function() {
this.route('missing', { path: '/:step' });
});
然后我创建了一条缺少的路线,从模型中获取此动态段并使用它将模板加载到相应的插座中
export default Ember.Route.extend({
renderTemplate: function(controller, model) {
this.render('wizard/' + model.step, {
controller: controller
});
}
});
我很想听听有关此解决方案的一些想法。