2015-04-27 33 views
1

是否可以在ng-if中評估角度表達式?在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> 

既不擔任預期。

這是語法問題還是這不可能?如果這是一個語法問題,那麼應如何編寫上面的語句?

+2

你試過用''==而不是'='? –

回答

4

ng-if文本是一個角度表達式。無論您在那裏寫入的字符串是否使用$scope.$eval()進行角度分析。表達式中使用的任何變量(包括函數)必須在當前的$ scope中可見。 這意味着此代碼的工作,$scope.$root必須定義。確保它是,或者你不能運行res()函數,否則找到另一種方法。

ng-if將表達式評估爲真值或假值,因此您的=必須是比較運算符=====

<div ng-if="itemData.contentTypeId === $root.res('resources', article_type_id')">