html - Vue.js:在子组件的插槽中动态呈现 html
问题描述
在我的 vue.js 应用程序中,我试图html
在子组件的插槽中动态呈现内容。如果我只输入文本就没有问题,它可以正常工作。
这是我的代码:
子组件.vue
<template>
<div :class="type" class="message" v-if="type">
<slot />
</div>
</template>
<script>
export default {
...
props: ['type'],
...
}
</script>
父组件.vue
<script>
import Alert from '@/Alert';
export default {
components: {
Alert,
},
data() {
return {
...
alert: {
error: '',
message: '',
}
};
},
created () {
this._onLoad()
},
methods: {
_onLoad() {
axios.get(`api.call.here`).then((res) => {
...
}).catch(error => {
this.alert.error = error.type;
this.alert.message = `<p>message here</p>`; // from response
});
},
}
}
</script>
这是问题的屏幕截图:
解决方案
您尝试做的事情可以通过v-html
. 您可以在调用ChildComponent.vue
. 这是您的案例的一个小示例:
<Alert>
<span v-html="alert.message"></span>
</Alert>
推荐阅读
- hadoop - Cloudera 沙盒 2.6.5 不保存设置
- xml - 如何打印 x:include 层次结构
- tensorflow - 如何在 CNN 和 LSTM 架构中添加 dropout 来处理过拟合问题,TensorFlow
- java - 我如何在 Spring 中对 GET 请求使用复杂的验证条件
- python - 在 3D 图中可视化排列面体
- python - scikit学习管道中交叉验证中的混淆矩阵
- android - 具有交替模板的 RecyclerView(如 CSS 中的 EVEN 和 ODD)
- flutter - 自定义 AppBar 元素类型 'List
' 不能分配给列表类型 - android - 如何找到使用 MediaStore API 添加媒体文件的可用空间?
- java - 获取月份的最后日期