【问题标题】:How to dynamically add attributes to elements in vue.js?如何为 vue.js 中的元素动态添加属性?
【发布时间】:2019-03-07 23:08:12
【问题描述】:

给定一个 items 对象数组:

items: [{
 label: 'My Link',
 attrs: {
  href: '/route',
  target: '_blank',
  title: 'Some title',
 },
},{
 label: 'My Link 2',
 attrs: {
  href: '/route2',
  target: '_self',
  title: 'Some title 2',
 },
}];

我的 vue 有一个循环遍历项目列表的 v-for:

<ul>
  <li v-for="item in items">
    <a ADD_ITEM_ATTRIBUTES_HERE>{{ item.label }}</a>
  </li>
</ul>

如何循环遍历每个项目的属性并将其动态添加到锚元素中,其中属性名称是对象键,属性值是其匹配值?

我来自 jQuery 世界,这种操作非常简单,但我不确定在这种情况下如何修改 DOM。

我在这里找到的大多数问题都与检查元素是否具有道具或满足设置其值的条件有关。我不想那样做。就我而言,我不知道道具是什么,也不知道它的价值。

【问题讨论】:

标签: vue.js


【解决方案1】:

由于对象中已经有了属性,可以直接传给v-bind;另见bind an object of attributes example:

<a v-bind="item.attrs">{{ item.label }}</a>

这将导致attrs 对象中的键作为属性,attrs 中的值作为对应值。

【讨论】:

  • 谢谢,我没有意识到我可以像这样传递一个对象。
猜你喜欢
  • 2019-06-24
  • 1970-01-01
  • 2014-02-17
  • 2021-12-17
  • 1970-01-01
  • 1970-01-01
  • 2015-01-26
  • 1970-01-01
  • 2021-08-12
相关资源
最近更新 更多