将信息从视图传递到视图

时间:2013-11-25 19:56:30

标签: angularjs

我有一个多步骤表单,其中第一步的信息应该可用于下一步。

如何在视图之间共享此信息?我应该在$rootScope中附加模型还是创建一个公共父控制器?

2 个答案:

答案 0 :(得分:2)

创建一个服务来存储共享项,因为服务是单例。这是一个任意的例子。

sharedDataExampleModule.service('SharedData', function(){
    var data = {};
    // API to get/set shared data
    return {
        getData: function(){},
        setData: function(data){}
    };
});

将服务注入任何需要访问数据的控制器。

sharedDataExampleModule.controller('ControllerA', function($scope, SharedData){
    // set data
    SharedData.setData($scope.objectContainingOurSharedData);
});

sharedDataExampleModule.controller('ControllerB', function($scope, SharedData){

    // get data
    $scope.shared = SharedData.getData();
});

答案 1 :(得分:1)

First View Controller,传递对象参数:

function FirstViewController($scope) {
    $http.post(url).success(function(objModel){
        $scope.objModel = objModel;
    }).error(function(msg){
        console.log(msg);
    });
}

第二视图控制器,获取参数:

function SecondViewController($scope, $params) {
    var objModel = $params.objModel;
}

我希望能帮助你。