vue.js - 如何让 VueJS 组件仅作为包装器工作,而不是控制所有 html?
问题描述
换句话说,一个人可能在某个时候有一个看起来像这样的 html:
<bloglink blogposturl="http://a.link" blogposttitle="my title" ></bloglink>
而模板属性是这样的:
...
template: '<h3><i><a style="text-decoration: underline; cursor: pointer;" v-on:click="load_blog_page(blogposturl)">{{blogposttitle}}</a></i></h3>',
...
但是如果一个人想要表达呢?
<bloglink blogposturl="http://a.link" blogposttitle="my title" >
<p>.....complex html in here.... which is not dynamic....</p>
</bloglink>
人们希望在加载网页时保留此 html,而不是完全替换。
一种方法是获取这个复杂的 html 并将其作为参数插入,小心正确转义等,但这似乎不太优雅。
推荐的方法是什么?
解决方案
Vue组件插槽。
例如:
父组件:
<template>
<div>
<slot></slot>
</div>
</template>
一些其他组件:
<template>
<div>
<parent>
<p>whatever</p>
</parent>
</div>
</template>
推荐阅读
- c - 在 C 中创建 CLI 应用程序
- javascript - 使用 for 循环获取 .reduce() 的结果
- r - 如何在 R 中绘制堆积条形图?
- python - 如何在 OO 中轻松高效地存储 numpy ufuncs 的模拟数据
- css - 编号按钮 - 不同样式的编号和标题
- npm - Laravel Mix 中的“模块构建失败......”
- s4sdk - 在 cloud-s4-sdk-book / RequestContextServletFilter 问题启动期间找不到租户
- python - 在每次预测后实施 NEAT python 进行重新训练
- c# - 在 C# 中将静态数组分配给非静态数组时,是通过引用还是值来完成?
- python - Python - Flask:根目录外的静态文件夹