2015-11-27 30 views
0

我的應用程序執行http調用,結果存儲在作用域中的一個變量中。AngularJS中ui-view根控制器的繼承變量

angular.module('simfraAppController', []) 
.controller('simfraController', ['$scope', 'RetrieveInformation', 'RetrieveTaxInformation', 'ErrorModal', 
    function ($scope,RetrieveInformation, RetrieveTaxInformation, ErrorModal) { 
     $scope.formData = {}; 

     RetrieveInformation.then(function success(response) { 
      $scope.personalData = response.data.data; 

     }, function error(response) { 
      ErrorModal(); 
     }); 

     RetrieveTaxInformation.then(function success(response) { 
      $scope.taxData = response.data.data; 

     }, function error(response) { 
      ErrorModal(); 
     }); 
    } 
]); 

.state('landing', { 
    url: "/", 
    templateUrl: "simfra/dashboard.html" 
}) 

在這個控制器是在調用和調用變量。

這是我的另一個控制器

.controller('SimfraDirectDebitApplicationController', ['$scope', '$rootScope', '$state', 'Command', 'uuid4', 
    function ($scope, $rootScope, $state, Command, uuid4) { 

    console.log($scope.personalData); 
}); 

.state('direct_debit_application', { 
       url: "/incassoaanvraag", 
       templateUrl: "simfra/direct-debit-application/inquiry.html" 
}) 

Ofcourse我已經嵌套的HTML。

<body data-ng-controller="simfraController"> 
    <div data-ng-controller="SimfraDirectDebitApplicationController"> 
    </div> 
</div> 

我的問題是,當我初始化應用低谷默認路由「/」和我瀏覽到的路線「direct_debit_application」這一切的偉大工程。

但是,當我重新加載頁面時,請求仍然被製成(只要我能在控制檯中看到),但變量是「未定義」

我怎麼能得到這個東西才能正常工作?

+0

你有沒有試過這個$ scope。$ parent.personalData? – murnax

+0

是的,它和以前一樣。只要我刷新頁面,數據就消失了,但請求仍然存在。 –

回答

0

這爲我工作

使用下面的代碼

$scope.$emit('key', {data: value}); //to set the value 

使用follwing代碼

$rootScope.$on('key', function (event, data) {}); //to get the value 

獲取第二控制器中的值或者你可以嘗試的getter setter方法設置在第一控制器值方法也

0

我知道爲什麼它不工作!

$ http請求仍在製作中,且DOM已加載。 因此,變量是空的。