& lt; !DOCTYPE html> & lt; html lang=癳n”比; & lt; head> & lt;元charset=皍tf - 8”比; & lt; title>父子组件传值& lt;/title> & lt; style> & lt;/style> & lt;脚本src=" https://www.yisu.com/zixun/vue.js "祝辞& lt;/script> & lt;/head> & lt; body> & lt; div id=案北? & lt;计数器:数=" 0 " @numberchange=癶andleChange祝辞& lt;/counter> & lt;计数器:数=" 0 " @numberchange=癶andleChange祝辞& lt;/counter> & lt; div>{{总}}& lt;/div> & lt; validate-content内容=癶ello world”祝辞& lt;/validate-content> & lt;/div> & lt; script>//父组件向子组件传值用道具、加:号后传递的为js表达式,示例中则为数字,不加:号代表的是字符串 var counter={//局部注册 道具:“数”, 数据:函数(){//在子组件中定义数据,数据不能是对象,必须是一个函数。 返回{ 数量:this.count } }, 模板:“& lt; div @click=癶andleClick2”在{{号码}}& lt;/div>”, 方法:{ handleClick2:函数(){ 这一点。+ +;//this.count + +;父组件可以传值给子组件,但子组件不可以修改父组件属性,这里这么写会报的错。 美元。排放(“numberchange”, this.number);//子组件向父组件传递事件,值 } } } var validateContent={ 道具:{//内容(数字、字符串)://组件参数校验,可以多选 内容:{//组件参数校验 类型:字符串, 要求:没错, 默认值:“默认值”, 验证器:功能(价值){ 返回值。长度比;5 } } }, 模板:“& lt; div的在{{内容}}& lt;/div>”, } var vm=new Vue ({ 埃尔:“#根”, 数据:{ 总:0 }, 方法:{ handleChange:函数(数量){ console.log(数量)//这个。总+=1; } }, 组件:{ 计数器,//局部注册要在根节点注册组件 validateContent } }) & lt;/script> & lt;/body> & lt;/html>
先看一个示例
& lt; body> & lt; div id=案北? & lt; child> & lt; p> Qin & lt;/child> & lt;/div> & lt; script> 让孩子={ 模板:“& lt; div> & lt; p>你好world & lt;/div> } var vm=new Vue ({ 埃尔:“#根”, 组件:{ 孩子 } }) & lt;/script> & lt;/body>
打开查看器查看一下
发现秦不见了
<代码> & lt; p> Qin
1 代码>查看官方文档,,,https://cn.vuejs.org/v2/guide/components-slots.html
我们得出结论:如果孩子没有包含一个& lt;槽比;元素,则任何传入它的内容都会被抛弃
,我们加入插槽
& lt; body> & lt; div id=案北? & lt; child> & lt; p> Qin & lt;/child> & lt;/div> & lt; script> 让孩子={ 模板:“& lt; div> & lt; p>你好world & lt; slot> & lt;/slot> & lt;/div> } var vm=new Vue ({ 埃尔:“#根”, 组件:{ 孩子 } }) & lt;/script> & lt;/body>
发现秦能正常显示,且槽将会被替换为解析后的片段& lt;p比;秦& lt;/p在
当父组件不向子组件传值的时候,槽还可以作为父组件默认值出现
& lt; body> & lt; div id=案北? & lt; child> & lt;/child> & lt;/div> & lt; script> 让孩子={ 模板:“& lt; div> & lt; p>你好world & lt; slot>默认value & lt;/div> } var vm=new Vue ({ 埃尔:“#根”, 组件:{ 孩子 } }) & lt;/script> & lt;/body>
效果图
,如果想使用多个插槽,我们先看看效果:
& lt; body> & lt; div id=案北? & lt; child> & lt; header>这是headervue中父子组件注意事项,传值及槽应用技巧