vue 创建一个div,获取v-html的值后删除
时间: 2024-12-18 09:31:35 浏览: 7
在Vue.js中,你可以使用`v-if`或`v-show`指令来动态地创建元素,结合`v-html`绑定HTML内容。首先,你需要在模板中创建一个`<div>`元素,并给它一个初始状态(例如默认隐藏或空字符串),然后当你需要显示HTML内容时,设置`v-html`的值。
```html
<div v-if="!hasHtmlContent" class="placeholder">暂无内容</div>
<div v-if="hasHtmlContent" v-html="formattedHtml"></div>
<script>
export default {
data() {
return {
hasHtmlContent: false,
formattedHtml: ''
};
},
// 假设你在某个方法里获取到html内容并处理过
methods: {
async fetchAndFormatHtml() {
const htmlContent = await someAsyncFunction(); // 获取HTML内容
this.formattedHtml = handleHtml(htmlContent); // 格式化或清理HTML内容
this.hasHtmlContent = true; // 设置有HTML内容的标志
}
},
mounted() {
// 在组件挂载后获取并显示HTML内容
this.fetchAndFormatHtml();
}
};
```
在这个例子中,当`hasHtmlContent`为`false`时,`<div>`不会渲染;一旦有了HTML内容(`hasHtmlContent`变为`true`),对应的`<div>`会渲染并且展示`formattedHtml`的内容。
阅读全文