如何从angularjs中的多个控制器获取数据

时间:2019-07-05 08:04:11

标签: angularjs

我想从2个控制器中获取数据。我从一个控制器获取数据,但没有从另一个控制器获取数据。如何在一个函数中调用两个控制器

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
    $http.get("url")
    .then(function(response) {
        $scope.pir_data= response.data;
        $pir_Status_bit_= response.data.pir_staus;

        app.controller('watertankCtrl', function($scope, $http) {
            $http.get("url")
            .then(function(response) {
                $scope.watertank_data = response.data;
                $scope.wt_level = response.data.dataFrame;   
            });
        });

html

<div class="col-lg-4" ng-app="myApp" ng-controller="myCtrl">
    <div class="our-team-main">
        <div class="team-front">
            <h4>Door Monitoring</h4>
            <a>PIR Smart Security</a>
            <hr />
            <p align="left">
                Door Status-  {{pir_Status_bit}} <br />
            </p>
        </div>
    </div>
</div>

<div class="col-lg-4" ng-app="myApp" ng-controller="watertankCtrl">
    <p align="left">
        Level - {{wt_level}} v<br />          
    </p>
</div>

</div>
</div>

1 个答案:

答案 0 :(得分:0)

处理此类问题的一种干净方法是使用$q服务和all方法。发生的情况是您的$http.get承诺之一在另一个承诺之前返回。您要等待两者返回。