是否可以檢查給定屬性是否存在於指令中,理想情況下是使用隔離範圍還是最壞情況下屬性對象。檢查Angular Directive中是否存在屬性
有一個看起來像這樣的指令<project status></project>
,我想有條件地呈現一個狀態圖標,但只有當status屬性存在。
return {
restrict: 'AE',
scope: {
status: '@'
},
link: function(scope, element, attrs) {
scope.status === 'undefined'
}
}
理想情況下,它將直接綁定到範圍,以便它可以在模板中使用。但是,綁定變量的值是undefined。 &
只讀和=
雙向綁定。
我知道通過添加<project status='true'></project>
可以解決問題,但對於經常使用的指令,我寧願不必。 (XHTML有效性,不是問題)。
我知道你提到它,但只是想知道 - di d你在attrs中嘗試類似「狀態」的東西,看看那個評價是什麼? – Ian 2014-09-12 15:31:31
不是「@」是傳遞給指令的單向文本綁定嗎?因此scope.status應該是文本閱讀'true',只要您將一個變量傳入指令
– SoluableNonagon 2014-09-12 15:39:49當您將範圍指定爲上述對象時,該指令會創建一個新的隔離範圍,該範圍不會繼承屬性父範圍。而是使用scope:true來創建一個新的作用域(可以訪問父作用域屬性),或者使用scope:false來使指令使用父作用域。你在問什麼?我不太明白你的問題...... – 2014-09-12 15:44:26