vue.js - vue 在插入字符串时使用组件
问题描述
插入字符串时如何使用组件?
例如,我有一个组件可以执行以下操作:
组分-A
<template>
<div>{{someProp}}</div>
</template>
当我在其他组件中使用该组件时,我传递了 someProp ,它是一个 vue 组件和一些纯文本。
其他组件
<component-A someProp="Some text and <component-B/>"/>
如何防止文本被转义?而不是“<component-B/>”组件被替换了吗?
解决方案
Props 只能用于传递 javascript 值,例如字符串、数字、对象、数组等。在您的示例中,someProp
具有字符串 value Some text and <component-B/>
,因此它将Some text and <component-B/>
在模板中逐字呈现。
如果要传递模板片段(我自己的术语),则需要使用插槽而不是道具:
Vue.component('component-a', {
template: '<span>Component A: <slot></slot></span>',
});
Vue.component('component-b', {
template: '<strong>Component B</strong>',
});
new Vue({
el: '#app',
});
<script src="https://rawgit.com/vuejs/vue/dev/dist/vue.js"></script>
<div id="app">
<component-a>
Some text and <component-b></component-b>
</component-a>
</div>
推荐阅读
- asp.net - 显示时引导模式丢失数据
- java - 创建一个可重用的类
- python - 用于将数据从 s3 同步到另一个 s3 存储桶的 python 脚本
- java - Spring Boot - 如何跟踪所有请求和响应异常并保存到数据库中?
- mongodb - 我无法使用 Groovy 在 mongoDB 上执行聚合操作
- gcloud - GCloud SDK 无法解析策略文件 (JSON)
- spring-data-jpa - 连接两个都具有复合主键的实体,我们需要使用 spring data jpa 使用主键的一部分进行连接
- java - 如何检查在 Gradle 构建过程中使用了哪些已安装的 JDK
- android - 如何创建类似于 instagram 的探索选项卡的选项卡视图(类别)
- c# - C# 和 nodejs 中的 AES 加密