冇事来学系--Vue2.0中组件化编码流程与数据传递

简介: 组件之间的数据传递

组件之间的数据传递


父传子

父组件写数据,并且在使用子组件标签的时候传递数据;

子组件在props节点中设置自定义属性,用于接收父组件的数据,接收的数据在子组件实例对象vc中,可以直接在模板中使用


子传父

在父组件中 (methods节点下) 写一个接收函数receive,设置一个形参x来接收子组件的数据,并且在使用子组件的时候传递这个函数;(:recieve="recieve")

子组件在props节点设置自定义属性,来接收父组件传来的函数 (props: [recieve]) ,接收的函数在子组件的实例对象vc身上,可以直接在模板中使用,也可以在methods节点中的事件处理函数里面通过this调用这个函数,并把数据作为实参传递( this.receive(数据) )

通过传参实现数据传递


父传孙

通过逐级传递,由父传子,子再传孙

父组件写数据,并且在使用子组件标签的时候传递数据;

子组件的props节点设置自定义属性接收,并且在子组件中使用孙组件的时候写入这个属性来传递

孙组件的props节点设置自定义属性接收子组件传来的数据,接收的数据在孙组件的实例对象vc上,可以直接在模板中使用


数据传递

  1. 实现静态组件:抽取组件,使用组件实现静态页面的效果
  2. 展示动态数据
  1. 数据类型、名称是啥

一堆数据用数组来存储,每一个数据又很多属性则用对象来表示

  1. 数据保存在哪个组件:
  1. 数据是一个组件在用 --> 放在组件自身即可
  2. 数据是一些组件在用 --> 放在他们共同的父组件上(状态提升)

注意:使用v-model时要注意不能绑定props里面的值,因为props里面的值是不允许被修改的

  1. 实现交互:从绑定事件开始

一般数据在哪里,操作数据的方法就在哪里(增删改查)

nanoid的使用--> 用于生成id

nanoid是一个函数,直接调用就会生成一个唯一的字符串

安装nanoid的库 ---> npm i nanoid

引入nanoid ---> import {nanoid} from 'nanoid' (nanoid使用了分别暴露)

使用: nanoid( )

  1. 交互,从绑定事件监听开始

组件化编码流程

目录
相关文章
|
6天前
|
JavaScript 数据管理 Java
在 Vue 3 中使用 Proxy 实现数据双向绑定的性能如何?
【10月更文挑战第23天】Vue 3中使用Proxy实现数据双向绑定在多个方面都带来了性能的提升,从更高效的响应式追踪、更好的初始化性能、对数组操作的优化到更优的内存管理等,使得Vue 3在处理复杂的应用场景和大量数据时能够更加高效和稳定地运行。
24 1
|
6天前
|
JavaScript 开发者
在 Vue 3 中使用 Proxy 实现数据的双向绑定
【10月更文挑战第23天】Vue 3利用 `Proxy` 实现了数据的双向绑定,无论是使用内置的指令如 `v-model`,还是通过自定义事件或自定义指令,都能够方便地实现数据与视图之间的双向交互,满足不同场景下的开发需求。
25 1
|
2月前
|
JavaScript
Vue组件传值异步问题--子组件拿到数据较慢
Vue组件传值异步问题--子组件拿到数据较慢
179 58
|
13天前
|
API
vue3知识点:响应式数据的判断
vue3知识点:响应式数据的判断
22 3
|
14天前
|
存储 缓存 JavaScript
vue表单案例练习:vue表单创建一行数据及删除数据的实现与理解
vue表单案例练习:vue表单创建一行数据及删除数据的实现与理解
32 2
|
2月前
|
JavaScript
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“
本文讨论了在使用Vue和Element UI实现树形数据和懒加载时遇到的“Maximum call stack size exceeded”错误,指出问题的原因通常是因为数据中的唯一标识符`id`不唯一,导致递归渲染造成调用栈溢出。
64 1
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“
|
1月前
|
JavaScript
vue3,使用watch监听props中的数据
【10月更文挑战第3天】
851 2
在 Vue3 中,如何使用 setup 函数创建响应式数据?
在 Vue3 中,如何使用 setup 函数创建响应式数据?
|
1月前
|
JavaScript 索引
vue 表格数据上下移动并增加背景色
vue 表格数据上下移动并增加背景色
34 0
|
1月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day03【20.获取Banner轮播图的数据+21.使用swiper轮播图插件】
vue尚品汇商城项目-day03【20.获取Banner轮播图的数据+21.使用swiper轮播图插件】
30 0