2017-07-28 72 views
0

我有一個預先評估的條件語句在我的ng-if中使用。像這樣的事情,在我的角度代碼:如何在ng-if中添加自定義條件?

scope.condition = "item.chosen == true";   ---(1) 

我需要在我使用這個條件NG-if條件,這樣的事情:

<div ng-if="{{condition}}"></div>    ---(2) 

這將最好的

<div ng-if="item.chosen == true"></div>   ---(3) 
進行評估

這當然不起作用。只是爲了澄清,我不能直接使用3中的代碼,因爲正如我所提到的,scope.condition變量是預先計算好的,我不能確定字符串值可能是什麼,除非它是有效的條件語句。

我該如何做到這一點?

EDIT 1:

進一步澄清,條件變量不必是item.chosen == TRUE。它也可能類似於item.count>限制item.available == false。基本上無法確切知道條件是什麼,只是它將始終是一個字符串格式的有效條件語句。

+0

如果'item.chosen'是一個字符串值,你可以做這樣的事情嘗試:''

回答

0

你可以用這個

<div ng-if="$eval(condition)"></div> 

//view 
<div ng-if="condition"></div> 

//controller 
$scope.item.chosen = false; 
$scope.condition = $scope.$eval('item.chose == true') 
+0

這對我最合適!不能相信我不知道$ eval。謝謝 –

0

你可以做,

<div ng-if="condition"></div> 
+1

將無法​​正常工作。正如hadi所說,scope.condition =「item.chosen == falsse」也將是一個真實的條件 – Ved

+0

那麼'ng-if'永遠是真的。 –

+0

@哈迪是的。它永遠是真的。 – Ved

1

你必須將它存儲就像

scope.condition = item.chosen; 

,然後使用它像

<div ng-if="condition"></div> 

它會像

<div ng-if="true"></div> 
進行評估
相關問題