2017-01-15 90 views
1

如果獲得的輸出爲'0',我試圖「隱藏」一個元素。 我已經試過以下行代碼 -ng樣式,條件不起作用,可見性不變

<li ng-style="{'visibility': {{PropertyListitem[0].Parking}} ? 'visible' : 'hidden'}"> 
    <p>Parking</p> 
</li> 

,但是這是行不通的,你們可以請點我出去,我要去哪裏錯了。

一個簡單的方法來做同樣的表示讚賞。 :)

編譯器查看:

This is the Compiler View

+0

您是否特別需要'visibility:hidden;'或'display:none'也可以嗎?如果是的話,那麼使用簡單的'ng-show'或'ng-hide'來切換可見性 –

回答

1

根據角documentation,它已已知問題使用插值和表達式時一起:

注:角指令屬性採取任何表情或帶嵌入表達式的插值標記。它被認爲是不好的做法,嵌入插標記的表達式中

也:

爲什麼混合插值和表達式是不好的做法:
*它增加了標記的複雜性
*不能保證它適用於每個指令,因爲插值本身是 指令。如果另一個指令在運行插值之前訪問屬性數據,它將得到原始插值標記,而不是數據。
*它會影響性能,因爲插值會向觀察者添加另一個觀察者。
*由於這不是建議的用法,因此我們不對 進行測試,並且對Angular核心的更改可能會破壞您的代碼。

TL; DR:更新您的ng-style如下:

ng-style="{'visibility': PropertyListitem[0].Parking ? 'visible' : 'hidden'}"> 

見小demo

+0

感謝您的迴應.. :)。這非常有幫助..它爲我工作時,我等於1,然後做三級檢查..'ng-style =「{'visibility':PropertyListitem [0] .Parking ==='1'?'visible':'hidden'}」' – theLearner

+0

不錯!如果你覺得它很好並且有幫助,請考慮提供答案:) –

1

下面應該工作:

<li ng-style="{'visibility': PropertyListitem[0].Parking ? 'visible' : 'hidden'}"> 
    <p>Parking</p> 
</li> 

你應該發送對象爲ng樣式,而不是編譯的字符串。

+0

感謝您的回覆@ user1415066:)...這對我有幫助 – theLearner