【问题标题】:Adding property only if value is set仅在设置值时添加属性
【发布时间】:2016-10-26 15:40:49
【问题描述】:

所以我正在寻找一种方法,如果在配置对象中设置了值,则仅将 href 属性添加到锚标记 (<a></a>),以便单击锚标记时页面不会重新加载除非为该菜单项指定了 url。

现在我的标记看起来像:

<a [href]="link.url ? link.url : '#'">{{link.title}}</a>

当然,我也可以使用"return javascript:;" 语法,但理想情况下,我希望能够避免将 href 属性放在锚标记上。

我也尝试过使用标记

<a [href]="link.url">{{link.title}}</a>

通过简单地不为给定链接定义 url,但是这给了我一个空的 href 属性,如下所示:&lt;a href&gt;Title&lt;/a&gt; 仍然会导致页面重新加载。

最终我希望看到以下内容:

网址定义:&lt;a href="/url"&gt;title&lt;/a&gt;

网址未定义:&lt;a&gt;title&lt;/a&gt;

【问题讨论】:

  • 你试过了吗:[href]="link.url|'#'" ?
  • 这实际上与&lt;a [href]="link.url ? link.url : '#'"&gt;{{link.title}}&lt;/a&gt; 做同样的事情,只是语义上少了一点。目标是完全没有 href 属性,除非定义了有效的 url。
  • 知道了。没有意识到如果它丢失了你实际上不想分配它。

标签: angular


【解决方案1】:
<a [attr.href]="link.url">{{link.title}}</a>

【讨论】:

  • 很高兴我能帮上忙。只是寻找“angular2 条件属性”和 wajam!
  • 顺便说一句,angular2 有相当复杂的语法,例如:(keydown.enter) 或 (keyup.c) 等...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-10
  • 2014-12-26
  • 1970-01-01
  • 2019-01-28
  • 1970-01-01
  • 2016-02-29
  • 2011-04-11
相关资源
最近更新 更多