覆盖不同控制器Angularjs中的变量

时间:2014-12-06 04:05:55

标签: javascript angularjs

我用了ng-show =" splash"而对于我的第一次飞溅,即使我在我的第二个控制器中,装载机也会出现。为什么?我尝试将其设置为false但似乎无法正常工作。

我的secondCtrl仅在$状态被激活时才有效。

app.controller('mainCtrl', ['$scope', '$http', function($scope, $http){

      $scope.splash = true;

}]);

app.controller('secondCtrl', ['$scope', function($scope){
     $scope.splash2 = true;
     $scope.splash = false;

}]);

1 个答案:

答案 0 :(得分:-1)

这是一个有效的jsFiddle

我有一个嵌套控制器的例子和一个兄弟姐妹的例子。它们都按预期工作。

<强>控制器:

function MyCtrl($scope) {
    $scope.splash = true
}

function MyCtrl2($scope) {
    $scope.splash = false;   
}

<强>泛音:

<div ng-controller="MyCtrl">
    <p ng-show="splash">Splash 1</p>
    <div ng-controller="MyCtrl2">
        <p ng-show="splash">Splash 2</p>
    </div>
</div>

<div ng-controller="MyCtrl">
    <p ng-show="splash">Splash3</p>
</div>
<div ng-controller="MyCtrl2">
    <p ng-show="splash">Splash 4</p>
</div>