2014-02-12 5 views
0

У меня есть HTML-страница, которая связана с контроллером в AngularJS. В контроллере у меня есть флаг showTree=true. Я показываю статус этого флага в моем HTML-страницу с помощью <h3>{{showTree}}</h3>Состояние флага не отражается на HTML-странице

Когда я установил showTree=false это получает отражение в HTML-страницы, но когда я изменить его обратно showTree=true изменения не получает отражение на странице HTML.

Я проверил состояние флага с использованием

$scope.$watch('showTree',function(){ 
      alert("changed"+$scope.showTree); 
      console.log($scope.showTree); 
     }); 

Результаты показывают, что значение становится изменилось. Но все же это не отражается на HTML-странице.

Я пробовал использовать $scope.$apply();, он не работал.

Есть ли способ исправить это?

+1

Пожалуйста, создайте JSFiddle с кодом. Недостаточно информации для диагностики проблемы. – squid314

+2

Откуда: где вы меняете стоимость showTree? –

+0

@Jay С другой страницы html. Считаете ли вы, что использование одного контроллера для двух разных html-страниц может вызвать проблему? –

ответ

3

Я думаю, что его scope проблему. Возможно, вы используете ng-include, который создает новую область, поэтому, когда вы меняете значение $scope.showTree, оно меняет значение, но оно создает новое значение showTree в дочерней области и вы ожидаете изменений в родительской области. Надеюсь, поможет.

1

Это работает для меня. I created a plunkr и он работает для меня. Можете ли вы заставить этот plunkr потерпеть неудачу?

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