AngularJS ng-if with angular 表达式
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"
}
];
});
如何将 ng-if 与 angularJS 表达式一起使用,或者有其他方法可以实现吗??
如果我的 loggedOnUser 等于 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 的条件是 angular 表达式本身。
<ANY
ng-if="expression">
...
</ANY>
因此类似于:
ng-if="someVal"
将匹配 $scope.someVal 而不是字符串 "someVal"
所以你的情况应该是:
ng-if="user.name == loggedOnUser"
查看:
<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"
}
];
});
如何将 ng-if 与 angularJS 表达式一起使用,或者有其他方法可以实现吗?? 如果我的 loggedOnUser 等于 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 的条件是 angular 表达式本身。
<ANY
ng-if="expression">
...
</ANY>
因此类似于:
ng-if="someVal"
将匹配 $scope.someVal 而不是字符串 "someVal"
所以你的情况应该是:
ng-if="user.name == loggedOnUser"