是否可以在ng-if?
中评估角度表达式例如:
<div ng-if="itemData.contentTypeId = {{$root.res('resources', article_type_id')}}">
<!-- some content -->
<div>
还尝试用单引号括起表达式:
<div ng-if="itemData.contentTypeId = '{{$root.res('resources', article_type_id')}}'">
<!-- some content -->
<div>
并且没有按预期工作。
这是语法问题还是不可能?如果这是一个语法问题,应该如何编写上述语句?
答案 0 :(得分:4)
ng-if文本是一个角度表达式。无论你写的是什么字符串,都会使用$scope.$eval()
进行角度解析。表达式中使用的任何变量(包括函数)必须在当前$ scope中可见。
这意味着要使此代码生效,必须定义$scope.$root
。确保它是,或者您无法运行res()
功能,或者找到另一种方式。
ng-if
会将表达式评估为真值或假值,因此=
必须是比较运算符==
或===
。
<div ng-if="itemData.contentTypeId === $root.res('resources', article_type_id')">