vue2 父子传值 (初学者)内容可能不太规范 欢迎大家指导

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue2 父子传值 (初学者)内容可能不太规范 欢迎大家指导相关的知识,希望对你有一定的参考价值。

参考技术A                     父子传值

所有的生命周期函数都是自执行函数

$emit  把事件抛给父页面  通过自定义事件让父页面进行处理

组件

组件的核心概念: 可复用性强

组件的名字可以随意起 一般都使用驼峰命名法 但是标签一般使用  — 连接

例 : <my-Header> </my-Header>

传值和传引用的区别

传值指的是传String、布尔等基本类型值;传值只改变所设定的要改变的值

引用指的是传对象、数组等引用类型值;传引用当改变一个数据的值,则与该绑定的值相关的值都会发生变化

 props 父向子传值 :

 例如这张图片上的按钮 不同样式可以切换不同的类型 就是使用了父传子

例如:这是子组件 使用props定义类型

可以是 number Arry object 等类型

default 默认值 例如传的是Boolean类型default默认为true或false



  这是父组件 使用:定义内容上面子组件规定了 title和sc是字符串类型

这是效果 这里展示了 组件内容的重复使用

子传父$emit

$emit 有两个参数 第一个是自定义事件的名字

这是子页面 写了一个点击事件

使用emit自定义一个事件名字 传递给父组件

父组件接收

 下面模仿element-ui封装不同按钮的类型可以对应不同的按钮样式

第一步:子组件定义一个按钮 这里定义了type类型

 父组件 引入 注册 使用

这是没改变前的效果

第二步:子组件 动态绑定一个actives

然后开启监听 immediate是立即执行

这是父组件

然后在子组件添加样式

效果

总结: 在子组件上面绑定一个属性属性名必须是:class 属性值名字可以随便起

然后在父组件定义了一个数据 内容 可以随便起

然后在组件监听type 并开启立即执行这样就不用等带type变化了

并且把父组件传递的名字的定义一个样式赋值给动态绑定的属性

这是子:

这是父:

然后:

这里记录一下 input 和button的轮廓线属性

设置轮廓线的颜色

  outline-color: red;

这是效果

outline: none;

设置轮廓线的隐藏

Vue父子组件传值

参考技术A

通过props来传值:

静态传值就是直接通过props来传递

动态传值是通过v-bind来绑定一个要传递值的key,然后后面跟要传递的内容,不过这个内容是可以改变的

比如:

传递的值会跟着input里面输入的值改变而改变

组件可以为 props 指定验证要求。

prop 是一个对象而不是字符串数组时,它包含验证要求

通过ref来传值:

在父组件引用的子组件中采用ref=’要传递的值的key’

父组件中:

子组件中:

这样就将父组件中的message中的内容传递到子组件中的msg变量中

emit是子组件向父组件的传值方式

子组件可以使用 $emit 触发父组件的自定义事件

父组件:

子组件:

Slot:

父组件向子组件传递模板采用slot:

父组件中:

子组件:

如果父组件没传递模板,slot里面有内容的话,就会显示内容

如果有多个模板要进行传递,这需要在slot中通过命名(name)来区分:

父组件中:

子组件:

以上是关于vue2 父子传值 (初学者)内容可能不太规范 欢迎大家指导的主要内容,如果未能解决你的问题,请参考以下文章

Vue2.0的三种常用传值方式父传子子传父非父子组件传值

vue2.0父子组件通信的方法

Vue父子组件通信之$emit(基于vue2.5,ES6)

vue父子组件传值方式

Vue3 父子组件通信

vue组件封装及父子组件传值,事件处理