如何让div容器中显示templateString: ‘负责人: {{ item.role1 }}\n工艺负责人: {{ item.role2 }}\n工位编号: {{ item.position }}\n’, };,不用v-bind的形式
时间: 2024-11-22 20:37:22 浏览: 14
要在Vue组件中使用`templateString`而不使用`v-bind`(或更现代的`{{}}`语法),你可以使用JavaScript的字符串模板替换功能。首先,确保你在Vue实例创建时传递了一个渲染函数,然后在该函数内动态插入你的字符串并替换变量。
在Vue的构造函数或`data()`方法中,你可以这样做:
```javascript
new Vue({
el: '#your-container', // 替换为你的元素选择器
data() {
return {
item: { role1: '张三', role2: '李四', position: '001' }, // 示例数据
templateString: `
负责人: {{ item.role1 }}
工艺负责人: {{ item.role2 }}
工位编号: {{ item.position }}
`,
};
},
render(h) {
return h('div', this.templateString.replace(/{{(.*?)}}/g, (match, variable) => this.item[variable]));
},
});
```
这里,我们定义了一个`render`函数,它接收一个`h`参数,这是一个轻量级的HTML构建工具。我们在`div`标签内直接插入了`templateString`,然后用正则表达式匹配所有的`{{...}}`片段,并用对应的`item`属性值进行替换。
阅读全文