2013-05-21 52 views
2

我使用NG-顯示指令,顯示/隱藏警告框在我的UI:NG-顯示指令不能正常工作

<alert ng-show="{{showAlert()}}">{{showAlert()}}</alert>

我的控制器代碼是:

$scope.showAlert = function() { return userForm.$invalid || false; };

儘管我對警報的內容獲得了正確的值,但我仍然可以看到ui中的booelan值,但警報仍在不斷顯示。

任何想法?

+0

試試'ng-show =「showAlert()」'? – Dogbert

+0

試過!但它不工作呢! – vivek

+0

我認爲這與angular-ui的'alert'指令相關,因爲我無法爲正常跨度字段重現相同的錯誤。 – vivek

回答

1
  1. ng-show接受一個表達式。
  2. userForm住在$scope

模板:

<span ng-show="showAlert()">form is invalid!!</span> 

控制器:

$scope.showAlert = function() { 
    return $scope.userForm.$invalid || false; 
}; 

或者,乾脆:

<span ng-show="userForm.$invalid">form is invalid!!!</span> 

,並鏈接到工作示例:http://plnkr.co/edit/nlc1dbtk8VaZBBGJnlb0

+0

不,它也不起作用。你試過了嗎?事實上,當我看到html輸出時,我可以看到'ng-show ='userForm。$ invalid''這意味着它沒有評估。 – vivek

+0

請觀察工作示例:http://plnkr.co/edit/nlc1dbtk8VaZBBGJnlb0 – Tosh