使用vue.js,是否可以设置自定义属性名称而不是属性值?以下代码似乎不起作用。它会渲染小胡子
伪代码:
<template v-for="item in list">
<div myattr{{item.name}}="something">{{item.desc}}</div>
</template>
任何帮助都非常感激。
答案 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
函数。