簡體   English   中英

AngularJS中帶有ui-view的根控制器的繼承變量

[英]Inheritance variable from root controller with ui-view in AngularJS

我的應用程序執行http調用,結果存儲在范圍內的變量中。

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"
 })

當然我已經嵌套了html。

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

我的問題是,當我通過默認路由“ /”初始化應用程序並且導航至路由“ direct_debit_application”時,它都很好用。

但是,當我重新加載頁面時,仍在發出請求(據我在控制台中看到的),但變量為“未定義”

我怎樣才能使這東西正常工作?

這對我有用

使用以下代碼在“ First controller”中設置值

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

使用以下代碼在第二個控制器中獲取值

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

或者您也可以嘗試使用getter setter方法

我知道為什么它不起作用!

$ http請求仍在進行中,並且DOM已加載。 因此,該變量為空。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM