vue 内置组件__slot讲解
Posted sunyang-001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 内置组件__slot讲解相关的知识,希望对你有一定的参考价值。
slot 是vue的内置组件,主要分为传值和接收值两部分;
首先写一个自定义组件:例如 <js></js>
再写一个template模板
并在构造器中使用components: 挂载,
在构造器的data中写一个选项方法:
data:
jsData:
url: ‘http://www.baidu.com‘,
netName: ‘百度‘,
skill: ‘seach‘
,
主要是传值与接收值部分;
在自定义组件中传值,通过(key,value)的方式
<js>
<span slot="url"> jsData.url </span>
<span slot="netName"> jsData.netName </span>
<span slot="skill"> jsData.skill </span>
</js>
然后在template模板中接收传入的值:
<template id="tep">
<div>
<p>百度地址:<slot name="url"></slot></p>
<p>名称:<slot name="netName"></slot></p>
<p>作用:<slot name="skill"></slot></p>
</div>
</template>
将其挂载到 js 组件中
var js =
template: ‘#tep‘
完整代码示例如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>slot</title>
<script src="../assets/js/vue.js"></script>
</head>
<body>
<h1>slot</h1>
<hr>
<div id="app">
<js>
<span slot="url"> jsData.url </span>
<span slot="netName"> jsData.netName </span>
<span slot="skill"> jsData.skill </span>
</js>
</div>
<template id="tep">
<div>
<p>百度地址:<slot name="url"></slot></p>
<p>名称:<slot name="netName"></slot></p>
<p>作用:<slot name="skill"></slot></p>
</div>
</template>
<script>
var js =
template: ‘#tep‘
var app = new Vue(
el: ‘#app‘,
data:
jsData:
url: ‘http://www.baidu.com‘,
netName: ‘百度‘,
skill: ‘seach‘
,
components:
‘js‘: js
)
</script>
</body>
</html>
以上是关于vue 内置组件__slot讲解的主要内容,如果未能解决你的问题,请参考以下文章