设置自定义属性名称

时间:2016-04-18 07:52:50

标签: javascript vue.js

使用vue.js,是否可以设置自定义属性名称而不是属性值?以下代码似乎不起作用。它会渲染小胡子

伪代码:

<template v-for="item in list">

    <div myattr{{item.name}}="something">{{item.desc}}</div>

</template>

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:1)

您可以使用custom directive

执行此操作

<强> HTML

<div id="app">
  <li v-for="item in items">
    <div v-set-attribute="item">{{item.desc}}</div>
  </li>
</div>

<强> JS

Vue.directive('set-attribute', {
  update: function(item) {
    this.el.setAttribute(item.name, "something");
  }
});

指令名称必须以html中的v-为前缀。以值("item")提供的对象将传递给指令的update函数。

JSFiddle