2014-12-06 3 views
-1

Я использовал ng-show = "splash" и для своего первого всплеска, но загрузчик вышел, даже когда я нахожусь во втором контроллере. Зачем? Я пытаюсь установить его на false, но, похоже, он не работает.Переопределить переменную в другом контроллере Angularjs

My secondCtrl активен только при активации $ state.

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

     $scope.splash = true; 

}]); 

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

}]); 
+0

Вопрос не ясен. Не могли бы вы объяснить, чего вы пытаетесь достичь, и показать связанный html? – Semicolon

ответ

-1

Работает jsFiddle.

У меня есть пример вложенных контроллеров и пример братьев и сестер. Они работают так, как ожидалось.

контроллеры:

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

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

Partials:

<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> 
+0

Что вы хотите показать здесь? – mike19911

Смежные вопросы