首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Angular 2中添加条件属性?

如何在Angular 2中添加条件属性?
EN

Stack Overflow用户
提问于 2016-04-20 21:42:18
回答 7查看 269.9K关注 0票数 343

如何有条件地添加元素属性,例如复选框的checked

以前版本的Angular有NgAttrNgChecked,它们似乎都提供了我想要的功能。然而,这些属性似乎不存在于Angular 2中,我也看不到提供此功能的其他方法。

EN

回答 7

Stack Overflow用户

发布于 2016-04-20 21:48:09

在angular-2中,属性语法是

代码语言:javascript
复制
<div [attr.role]="myAriaRole">

将role属性绑定到expression myAriaRole的结果。

所以可以像这样使用

代码语言:javascript
复制
[attr.role]="myAriaRole ? true: null"
票数 43
EN

Stack Overflow用户

发布于 2018-07-25 01:42:48

提炼Günter Zöchbauer的答案:

现在看起来不一样了。我尝试这样做是为了有条件地将href属性应用于锚标记。对于“不应用”情况,必须使用undefined。作为示例,我将使用一个有条件地应用了href属性的链接进行演示。

--编辑--看起来angular已经改变了一些东西,所以null现在可以像预期的那样工作了。我已经将示例更新为使用null而不是undefined

根据hyperlink spec,不带href属性的锚点标记将变为纯文本,指示链接的占位符。

对于我的导航,我有一个链接列表,但其中一个链接代表当前页面。我不希望当前页面链接是一个链接,但仍然希望它出现在列表中(它有一些自定义样式,但这个示例是简化的)。

代码语言:javascript
复制
<a [attr.href]="currentUrl !== link.url ? link.url : null">

我认为,这比在span和锚标签上使用两个*ngIf更干净。它也是为按钮添加禁用属性的完美工具。

票数 21
EN

Stack Overflow用户

发布于 2018-03-02 06:56:50

如果它是一个输入元素,你可以这样写....<input type="radio" [checked]="condition">条件的值必须为true或false。

也适用于样式属性...<h4 [style.color]="'red'">Some text</h4>

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36745734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档