【发布时间】:2018-09-20 22:16:39
【问题描述】:
我有一个带有模板的组件toolbar:
<div *ngFor="let item of items" class="toolbar__item">
<a href="{{ item.url }}" [attributes]="item.attributes">{{ item.label }}</a>
</div>
我想将item.options 的数组绑定到A 元素。如何用 Angular 5 做到这一点?
const items = [
{ 'url': 'someurl', 'label': 'Label', 'attributes': {'data-target': '#dropdown', 'data-toggle': 'dropdown'} }
]
【问题讨论】:
-
您可以创建一个Directive。锚通常不具有任何此类属性。但是,这似乎令人困惑,我建议您考虑一下您想要它的原因。或者...您是否尝试在目标上动态设置相应的属性?目前还不清楚。
-
感谢您的回答。为什么它让你感到困惑?想象一个带有多个按钮的工具栏:一个按钮触发下拉菜单,另一个触发侧边栏导航。所以我需要为它们设置不同的数据属性。
-
所以选项只是属性?如果是,就称它们为属性!
-
是的,选项只是数据属性。我希望得到的结果 HTML 为
<a href="someurl" data-target="#target" data-toggle="dropdown">Label</a> -
嗯,Angular 在语法上不支持这种方式,但您大概可以创建一个以这种方式工作的指令。请修正您的命名。如果您使用合理的名称,我们可以节省大量时间。
标签: angular data-binding