如何在 AngularJS ng-if 语句中使用“>”比较器
How to use ">" comparator in AngularJS ng-if statement
是否可以在 HTML 中的 ng-if 中使用 'greater than' 比较器?
问题是“>”符号过早地关闭了 HTML 标签。
例如。
这个:<div ng-if="foo>0" class="bar"> (HTML STUFF) </div>
读作:<div ng-if="foo"> (0 class="bar"> HTML STUFF) </div>
我最终通过使用 ng-if="foo!=0" 解决了这个问题,但我可能可以使用小于比较器,但我只是好奇以防万一我绝对必须使用大于符号原因。或者我可能必须将此逻辑移动到其他地方,比如在我的控制器中而不是在我的视图中?
编辑 1
所以看起来比较器本身肯定不是问题,我的代码中发生了其他事情。奇怪的是,当我在比较器前后有空格时它可以工作但没有空格它不会。如果这意味着什么,我也在使用 angular 1.3.15。
<div class="paginate" ng-if="list.total > 0">
有效
<div class="paginate" ng-if="list.total>0">
无效
这是使用 >
符号的示例。这很好用。
<div ng-if="myvariable.length > 2">
</div>
我建议在作用域上创建一个方法并抽象条件的逻辑。业务规则可能会扩展和更改。使用单独的方法,您无需更改模板。
// in controller
$scope.isValidFoo = function () {
return $scope.foo > 0;
}
// in template
<div ng-if="isValidFoo()">...</div>
是否可以在 HTML 中的 ng-if 中使用 'greater than' 比较器? 问题是“>”符号过早地关闭了 HTML 标签。
例如。
这个:<div ng-if="foo>0" class="bar"> (HTML STUFF) </div>
读作:<div ng-if="foo"> (0 class="bar"> HTML STUFF) </div>
我最终通过使用 ng-if="foo!=0" 解决了这个问题,但我可能可以使用小于比较器,但我只是好奇以防万一我绝对必须使用大于符号原因。或者我可能必须将此逻辑移动到其他地方,比如在我的控制器中而不是在我的视图中?
编辑 1 所以看起来比较器本身肯定不是问题,我的代码中发生了其他事情。奇怪的是,当我在比较器前后有空格时它可以工作但没有空格它不会。如果这意味着什么,我也在使用 angular 1.3.15。
<div class="paginate" ng-if="list.total > 0">
有效
<div class="paginate" ng-if="list.total>0">
无效
这是使用 >
符号的示例。这很好用。
<div ng-if="myvariable.length > 2">
</div>
我建议在作用域上创建一个方法并抽象条件的逻辑。业务规则可能会扩展和更改。使用单独的方法,您无需更改模板。
// in controller
$scope.isValidFoo = function () {
return $scope.foo > 0;
}
// in template
<div ng-if="isValidFoo()">...</div>