有条件地添加属性

时间:2017-09-15 03:57:34

标签: aurelia aurelia-binding

是否可以使用绑定语法有条件地向元素添加属性?我知道if.bind,但这是针对元素的。相反,我对定位元素的特定属性感兴趣。

示例:

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

如果model.link是假的,那么我根本不想要href - 只需将<a />视为容器元素。

我意识到我可以创建两个<a />标签 - 一个带有属性,一个没有 - 并在两者上都使用if.bind,但这看起来很笨拙而且不像aurelia一样。

1 个答案:

答案 0 :(得分:5)

我目前不认为Aurelia支持它(issue 1issue 2

此,

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

将产生

<a href>Link</a>

如果addLinkfalse

它不会完全删除attribute。如果您使用的库将检查是否存在属性来操作元素,那么这将不起作用。另一种选择是创建自定义属性like this。但这似乎是一种开销。