vue.js - 如何在 vue 的其他地方渲染 div/component?
问题描述
如何在我的组件的其他位置呈现 div/组件,而不将重复的内容作为 vue 中的单独组件?或将重复的内容与目标分开?
例如,这是我要复制的 div:
<div>blabla {{somecontent}}</div>
我想在那些地方渲染(所有代码都应该在一个组件中):
<section>
<div> __HERE__ </div>
</section>
<section>
<div> __HERE__ </div>
</section>
我想我期望的是这样的:
<div #blabla>blabla {{somecontent}}</div>
<section>
<div> {{blabla}} </div>
</section>
<section>
<div> {{blabla}} </div>
</section>
解决方案
一个好的解决方案是创建一个 Vue 组件。我总是尝试创建组件。作为问题需求,我在这里给出一个解决方案。
您可以创建一个计算或方法来呈现这样的组件
<script>
...,
computed: {
renderBlaBla() {
return `<div #blabla>blabla ${this.somecontent}</div>`
}
},
....
</script>
并在模板部分
<section>
<div v-html="renderBlaBla"></div>
</section>
<section>
<div v-html="renderBlaBla"></div>
</section>
推荐阅读
- python - 为什么将列表分配给另一个列表会产生“无”?
- jquery - 如何从json中获取事件
- html - 在 bootstrap 4 中使用类行时将元素放在页面右侧
- function - 如果成员函数存在,如何引用或调用成员函数
- c# - 字符串替换为空字符
- sql - 从 ISO 周 (201905) BigQuery 中提取日期
- flutter - 在 Android 中启动更新后 Flutter 应用程序崩溃
- php - 如何使用“.htaccess”删除图像 URL 的子文件夹?
- r - 使用 R 的非嵌套模型比较
- javascript - X-editable Yii2:未捕获的类型错误:无法读取 null 的属性“substr”