2013-08-24 56 views
4

的一部分,我嘗試做以下:ngIf與評估的變量作爲表達

ng-if="newItem.location == 'belowLesson{{lesson.Id}}'" 

,它僅適用於NG-表演。

換句話說,如果我設置newItem.location等於字符串'belowLesson28',並且該範圍內的lesson.Id是28,我希望這個工作。我不想使用ng-show,因爲它是對應用程序的拖拽(我在ng-repeat中使用它很多次)。

我將把一個plunkr放在一起,只是覺得我會更早地把它放在那裏,以防它在語法或其他方面明顯的修復。


這裏有一個plunkr: http://plnkr.co/edit/UFpTQ6zsvlCWVep5Ai5I?p=preview

回答

4

在plunkr第一個問題是你如何設置當前項目。代替

<button ng-click="chosenItem = {{item}}"> 

它應該是

<button ng-click="chosenItem = item"> 

的第二個問題是,ng-if創建它自己的範圍內,並在控制器中直接範圍改變的值將不改變先前存儲的值(通過繼承)在ng-id範圍內。因此,您應該將所選項目存儲在一個子對象中,如下面的plunkr所示:http://plnkr.co/edit/qOoZtnCqPuwvP3fGoUxw?p=preview

+0

試過在上面的plunkr中。似乎沒有工作。 – morgs32

+0

我編輯了我的答案。 –

+0

這個答案加上你以前的答案,解決了我對這個問題的看法,這是一個蹲在這裏的人: http://plnkr.co/edit/UFpTQ6zsvlCWVep5Ai5I?p=preview – morgs32