6

私はフォームを持っています

<form ng-controller="SessionController" name="login_form">
  <div class="hide" ng-show='invalid_credentials'>Invalid email/pass</div>
  <input type="submit" value="Login" ng-click='login()'>
</form>

コントローラ:

utApp.controller('SessionController', ($scope, $cookieStore, ClientService) ->
  $scope.login = ->
    ...
    if something
      $scope.invalid_credentials = true
      return

一部の条件$scope.invalid_credentialsでtrueに設定されていますが、エラーメッセージのあるdivが表示されていません。それを示す方法は?

4

2 に答える 2

2

受け入れられた答えは機能します...ただし、本当に必要なのは $scope.$apply を使用することです

utApp.controller "SessionController", ($scope, $cookieStore, ClientService) ->
  $scope.login = ->
    if something
      $scope.$apply (s) ->
        s.invalid_credentials = true

通常、スコープを更新しても UI が更新されないのは、$applyを使用する必要があるためです。

于 2012-10-11T15:21:08.187 に答える