使用ui-router形成多个步骤(向导)?

时间:2014-01-05 05:40:08

标签: angularjs

我正在尝试使用角度js构建多步形式(向导)。

据我了解,我必须将每个步骤映射到自己的控制器并查看(模板)。但在我看来,如果我这样做,那么每个步骤视图中定义的模型将仅限于特定控制器的范围。

由于我想提交表格末尾所有步骤中填写的所有数据,我想知道如何编码以确保所有步骤共享模型?

1 个答案:

答案 0 :(得分:1)

我建议您使用service \ factory将模型公开给每个步骤。 每个步骤都可以访问工厂公开的模型并更新该模型。你的工厂看起来像什么

angular.module("myApp").factory("Wizard",[function() {
     function WizardModel() {
         //Model Properties
         this.title="Test"   
     }
     var wizardService={};
     wizardService.model=new WizardModel();
     wizardService.init=function() {
         //instantiate a new model object wizardService.model={};
     }
     return wizardService;

}])

您现在可以在控制器中注入此服务。在启动向导之前,请调用init重新初始化模型,并使用model属性获取当前模型。