如何在AngularJS ng-if语句中使用">"比较器

krh*_*thm 6 html javascript angularjs angular-ng-if

是否可以在HTML中使用ng-if中的"大于"比较器?问题是">"符号过早地关闭了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 所以看起来似乎比较器本身不是问题,我的代码中还有其他东西正在发生.奇怪的是,当我在比较器之前和之后有空位时,它可以工作,但是没有空格则没有.如果这意味着什么,我也使用棱角1.3.15.

<div class="paginate" ng-if="list.total > 0"> 作品

<div class="paginate" ng-if="list.total>0"> 不起作用

use*_*669 10

这是使用>符号的示例.这很好用.

<div ng-if="myvariable.length > 2">

</div>
Run Code Online (Sandbox Code Playgroud)


小智 5

我建议在范围上创建一个方法并抽象条件的逻辑。业务规则可能会扩展和更改。使用单独的方法,您无需更改模板。

// in controller
$scope.isValidFoo = function () {
    return $scope.foo > 0;
}

// in template
<div ng-if="isValidFoo()">...</div>
Run Code Online (Sandbox Code Playgroud)