有没有办法从组件内部设置/覆盖插槽的内容?例如:
模板:
<div>
<slot></slot>
</div>
JS:
export default {
...
mounted() {
this.$slot.render("<button>OK</button>");
}
...
}
我知道我可以在元素上使用 v-html
,将内容动态地插入组件模板中,但我指的不仅仅是纯HTML,而是带有Vue指令的HTML。举个例子:
JS:
export default {
...
mounted() {
this.$slot.default.render('<button @click="submit">OK</button>');
},
methods: {
submit() {
// Here I want to get :)
}
}
...
}
基本上我希望Vue能在我的组件范围内渲染(像解析和渲染,而不是像innerHTML
那样)特定的字符串,并将其放置在我的组件中的特定位置。原因是我通过AJAX从服务器获取新内容。
很抱歉,经过两天的谷歌搜索,我仍无法理解。
非常感谢!