AngularJS Bootstrap UI TypeAhead при выборе не обновляет ng-switch

Я новичок в angular, и мне интересно, почему при использовании Typeahead пользовательского интерфейса Angular Bootstrap я не могу обновить ng-switch.

По сути, я пытаюсь обновить представление на основе выбора из списка.

%input{"ng-model" => "selectedPatient", type: 'text', typeahead: "patient as patient.first_name for patient in patients | filter:{first_name: $viewValue} | limitTo:8", 'typeahead-on-select'=>'onSelect($item)', placeholder: 'Enter Patient Name'}

Это работает просто отлично, и функция onSelect тоже работает:

$scope.onSelect = function($item) {
  if ($item.visit == null || $item.visit.state == null){
    $scope.status = 'new';
  } else{
    $scope.status = 'old';;
  }
};

Если я поставлю $scope.$watch на «статус», я увижу, что он обновляется нормально. Но вид не будет обновляться.

Если у меня просто есть ng-click для обновления статуса, то все работает нормально.

Любые мысли будут высоко оценены.


person eadon    schedule 07.01.2014    source источник


Ответы (1)


Решил это. Я не понимал, что объявление контроллера создает экземпляр области. Я объявил один и тот же контроллер в двух разных разделах, поэтому области действия были разными.

person eadon    schedule 08.01.2014