冇事来学系--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. 交互,从绑定事件监听开始

组件化编码流程

目录
相关文章
|
缓存 JavaScript UED
Vue3中v-model在处理自定义组件双向数据绑定时有哪些注意事项?
在使用`v-model`处理自定义组件双向数据绑定时,要仔细考虑各种因素,确保数据的准确传递和更新,同时提供良好的用户体验和代码可维护性。通过合理的设计和注意事项的遵循,能够更好地发挥`v-model`的优势,实现高效的双向数据绑定效果。
644 161
|
JavaScript 数据管理 Java
在 Vue 3 中使用 Proxy 实现数据双向绑定的性能如何?
【10月更文挑战第23天】Vue 3中使用Proxy实现数据双向绑定在多个方面都带来了性能的提升,从更高效的响应式追踪、更好的初始化性能、对数组操作的优化到更优的内存管理等,使得Vue 3在处理复杂的应用场景和大量数据时能够更加高效和稳定地运行。
655 156
|
JavaScript 开发者
在 Vue 3 中使用 Proxy 实现数据的双向绑定
【10月更文挑战第23天】Vue 3利用 `Proxy` 实现了数据的双向绑定,无论是使用内置的指令如 `v-model`,还是通过自定义事件或自定义指令,都能够方便地实现数据与视图之间的双向交互,满足不同场景下的开发需求。
681 157
|
12月前
|
SQL JavaScript 前端开发
Vue实现动态数据透视表(交叉表)
Vue实现动态数据透视表(交叉表)
510 13
|
JavaScript
Vue组件传值异步问题--子组件拿到数据较慢
Vue组件传值异步问题--子组件拿到数据较慢
691 154
|
12月前
|
JavaScript 前端开发 API
管理数据必备;侦听器watch用法详解,vue2与vue3中watch的变化与差异
一篇文章同时搞定Vue2和Vue3的侦听器,是不是很棒?不要忘了Vue3中多了一个可选项watchEffect噢。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
12月前
|
存储 数据采集 供应链
属性描述符初探——Vue实现数据劫持的基础
属性描述符还有很多内容可以挖掘,比如defineProperty与Proxy的区别,比如vue2与vue3实现数据劫持的方式有什么不同,实现效果有哪些差异等,这篇博文只是入门,以后有时间再深挖。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
在 Vue3 中,如何使用 setup 函数创建响应式数据?
在 Vue3 中,如何使用 setup 函数创建响应式数据?
|
监控 JavaScript 算法
深度剖析 Vue.js 响应式原理:从数据劫持到视图更新的全流程详解
本文深入解析Vue.js的响应式机制,从数据劫持到视图更新的全过程,详细讲解了其实现原理和运作流程。
|
JavaScript
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“
本文讨论了在使用Vue和Element UI实现树形数据和懒加载时遇到的“Maximum call stack size exceeded”错误,指出问题的原因通常是因为数据中的唯一标识符`id`不唯一,导致递归渲染造成调用栈溢出。
1269 1
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“