我有表格
<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。如何展示?
答案 0 :(得分:9)
Angular不会重新检查invalid_credentials
变量的值。使用函数作为ng-show
参数应该有效。
答案 1 :(得分:2)
接受的答案将有效...但是,您真正需要做的是使用$ scope。$ apply
utApp.controller "SessionController", ($scope, $cookieStore, ClientService) ->
$scope.login = ->
if something
$scope.$apply (s) ->
s.invalid_credentials = true
通常,当您更新范围时,它不会更新UI ...这是因为您需要使用$apply。