簡體   English   中英

帶角表達式的AngularJS ng-if

[英]AngularJS ng-if with angular expression

視圖:

<html ng-app="myApp">
....
  <body>

    <div ng-controller="myCtrl">

      <p>Current user {{loggedOnUser}}</p>

      <div ng-if="user.name == {{loggedOnUser}}" ng-repeat="user in users">
        <p>Should display</p>
      </div>

    </div>

  </body>

</html>

控制器:

angular.module("myApp", [])
  .controller("myCtrl", function($scope){
    $scope.loggedOnUser = "xxx"; // for testing purpose
    $scope.users = [
      {
        name : "xxx",
        age: "25"
      },
      {
        name : "yyy",
        age: "26"
      }
    ];
 });

如何在angularJS表達式中使用ng-if或是否有其他方法可以實現此目標? 如果我的loggingOnUser等於user.name,我想顯示該div

提前致謝

它應該是

ng-if="user.name == loggedOnUser"

代替

ng-if="user.name == {{loggedOnUser}}"

您可以根據需要使用用戶filters 但我建議您不要對自己的情況信任過濾器。 請參見下面的代碼段,它將在您的上述情況下起作用。

<div ng-repeat="user in users | filter:name:loggedOnUser">

ng-if的條件本身是一個角度表達式。

<ANY
    ng-if="expression">
    ...
</ANY>

因此類似:

ng-if="someVal"

將匹配$ scope.someVal,而不是字符串“ someVal”
所以在你的情況下應該是:

ng-if="user.name == loggedOnUser"    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM