2017-09-15 78 views
1

是否可以使用綁定語法有條件地向元素添加屬性?我知道if.bind,但是它的目標是元素。相反,我有興趣定位元素上的特定屬性。有條件地添加屬性

例子:

<a href.bind="model.link">${model.text}</a> 

如果model.link是falsy,那麼我不希望href在所有 - 只是對待<a />作爲容器元素。

我意識到我可以創建兩個<a />標籤 - 一個帶有屬性,另一個沒有 - 並且兩個都使用if.bind,但看起來很笨重和非aurelia喜歡。

+0

雖然仍然輸出'href'本身。相應的URL是空的,但它仍然像超鏈接一樣處理。如果沒有URL,我不想將「」設置爲超鏈接。 –

回答

3

我不認爲這是奧裏利亞支持目前(issue 1issue 2

<a href.bind="addLink ? link : ''">Link</a>. 

會產生

<a href>Link</a> 

如果addLinkfalse。它不會完全刪除attribute。如果你正在使用一個庫來檢查一個屬性的存在來操縱元素,那麼這將不起作用。另一個選項是創建一個自定義屬性like this。但是這似乎是一個開銷。

相關問題