当前位置: 首页 > news >正文

网站建设与管理大作业网站建设的意义和作用

网站建设与管理大作业,网站建设的意义和作用,网站中添加百度地图,网站高并发前端怎么做一、组件间通信的概念 开始之前#xff0c;我们把组件间通信这个词进行拆分 组件通信 都知道组件是vue最强大的功能之一#xff0c;vue中每一个.vue我们都可以视之为一个组件通信指的是发送者通过某种媒体以某种格式来传递信息到收信者以达到某个目的。广义上#xff0c;… 一、组件间通信的概念 开始之前我们把组件间通信这个词进行拆分 组件通信 都知道组件是vue最强大的功能之一vue中每一个.vue我们都可以视之为一个组件通信指的是发送者通过某种媒体以某种格式来传递信息到收信者以达到某个目的。广义上任何信息的交通都是通信组件间通信即指组件(.vue)通过某种方式来传递信息以达到某个目的举个栗子我们在使用UI框架中的table组件可能会往table组件中传入某些数据这个本质就形成了组件之间的通信 二、组件间通信解决了什么 在古代人们通过驿站、飞鸽传书、烽火报警、符号、语言、眼神、触碰等方式进行信息传递到了今天随着科技水平的飞速发展通信基本完全利用有线或无线电完成相继出现了有线电话、固定电话、无线电话、手机、互联网甚至视频电话等各种通信方式从上面这段话我们可以看到通信的本质是信息同步共享回到vue中每个组件之间的都有独自的作用域组件间的数据是无法共享的但实际开发工作中我们常常需要让组件之间共享数据这也是组件通信的目的要让它们互相之间能进行通讯这样才能构成一个有机的完整系统 三、组件间通信的分类 组件间通信的分类可以分成以下 父子组件之间的通信兄弟组件之间的通信祖孙与后代组件之间的通信非关系组件间之间的通信 关系图: 四、组件间通信的方案 整理vue中8种常规的通信方案 通过 props 传递通过 $emit 触发自定义事件使用 refEventBus p a r e n t 或 parent 或 parent或rootattrs 与 listenersProvide 与 InjectVuex props传递数据 适用场景父组件传递数据给子组件子组件设置props属性定义接收父组件传递过来的参数父组件在使用子组件标签中通过字面量来传递值 Children.vue props:{ // 字符串形式 name:String // 接收的类型参数 // 对象形式 age:{ type:Number, // 接收的类型为数值 defaule:18, // 默认值为18 require:true // age属性必须传递 } } Father.vue组件 Children namejack age18 / $emit 触发自定义事件 适用场景子组件传递数据给父组件子组件通过 e m i t 触发自定义事件 emit触发自定义事件 emit触发自定义事件emit第二个参数为传递的数值父组件绑定监听器获取到子组件传递过来的参数 Chilfen.vue this.$emit(‘add’, good) Father.vue Children add“cartAdd($event)” / ref 父组件在使用子组件的时候设置ref父组件通过设置子组件ref来获取数据 父组件 Children reffoo / this.$refs.foo // 获取子组件实例通过子组件实例我们就能拿到对应的数据 EventBus 使用场景兄弟组件传值创建一个中央事件总线EventBus兄弟组件通过 e m i t 触发自定义事件 emit触发自定义事件 emit触发自定义事件emit第二个参数为传递的数值另一个兄弟组件通过$on监听自定义事件 Bus.js // 创建一个中央时间总线类 class Bus { constructor() { this.callbacks {}; // 存放事件的名字 } $on(name, fn) { this.callbacks[name] this.callbacks[name] || []; this.callbacks[name].push(fn); } $emit(name, args) { if (this.callbacks[name]) { this.callbacks[name].forEach((cb) cb(args)); } } } // main.js Vue.prototype.$bus new Bus() // 将$bus挂载到vue实例的原型上 // 另一种方式 Vue.prototype.$bus new Vue() // Vue已经实现了Bus的功能 Children1.vue this. b u s . bus. bus.emit(‘foo’) Children2.vue this. b u s . bus. bus.on(‘foo’, this.handle) p a r e n t 或 parent 或 parent或 root 通过共同祖辈 p a r e n t 或者 parent或者 parent或者root搭建通信桥连 兄弟组件 this.$parent.on(‘add’,this.add) 另一个兄弟组件 this.$parent.emit(‘add’) a t t r s 与 attrs 与 attrs与 listeners 适用场景祖先传递数据给子孙设置批量向下传属性$attrs和 $listeners包含了父级作用域中不作为 prop 被识别 (且获取) 的特性绑定 ( class 和 style 除外)。可以通过 v-bind“$attrs” 传⼊内部组件 // child并未在props中声明foo p{{$attrs.foo}}/p // parent HelloWorld foofoo/ // 给Grandson隔代传值communication/index.vue Child2 msglalala some-eventonSomeEvent/Child2 // Child2做展开 Grandson v-bind$attrs v-on$listeners/Grandson // Grandson使⽤ div click$emit(some-event, msg from grandson) {{msg}} /div provide 与 inject 在祖先组件定义provide属性返回传递的值在后代组件通过inject接收组件传递过来的值 祖先组件 provide(){ return { foo:foo } } 后代组件 inject:[‘foo’] // 获取到祖先组件传递过来的值 vuex 适用场景: 复杂关系的组件数据传递Vuex作用相当于一个用来存储共享变量的容器 state用来存放共享变量的地方getter可以增加一个getter派生状态(相当于store中的计算属性用来获得共享变量的值mutations用来存放修改state的方法。actions也是用来存放修改state的方法不过action是在mutations的基础上进行。常用来做一些异步操作modules用于将store分割成模块每个模块都拥有自己的state、mutation、action、getters和子模块以便提高应用程序的可维护性。 小结 父子关系的组件数据传递选择 props 与 $emit进行传递也可选择ref兄弟关系的组件数据传递可选择 b u s 其次可以选择 bus其次可以选择 bus其次可以选择parent进行传递祖先与后代组件数据传递可选择attrs与listeners或者 Provide与 Inject复杂关系的组件数据传递可以通过vuex存放共享的变量
http://www.hkea.cn/news/14278533/

相关文章:

  • 太原网站开发哪家好有什么网站用名字做图片
  • 莱芜网站优化团队网站后台账号密码获取
  • 开封网站建设兼职手机网站源文件
  • 做360全景的网站网站运营与管理的对策建议
  • 网站设计师培训wordpress 把账号名改成昵称
  • 郑州 网站建设公司公司app开发
  • 制作h5网站开发html学校官网代码制作
  • 网站这么设置微信支付网易对象存储wordpress
  • seo网站优化培训网站建设初期 该如何推广
  • 抄袭网站案例宁波网站seo哪家好
  • 舟山建设工程信息网站建筑模板是干什么用的
  • SEO网站建设全方位部署阿里巴巴电脑版网页
  • 网站设置了字体为黑体怎么改字体字体+添加+wordpress
  • 服务行业网站建设名表网站
  • 网站建设经费保障qq空间实名认证网站
  • 建基建设集团网站移动端公众号网站开发
  • 网站规划方案模板网站推广宣传方案
  • 成都网站游戏设计wordpress+编辑器字号
  • 网站权重难做17网一起做网店潮汕池尾
  • 做淘宝网站用什么软件四川省建设招标网站首页
  • 网站数据库是干什么的企业门户网站的作用
  • 企业网站建设可行性分析 技能训练网络营销八大目标是什么
  • 手机网站 动态 页面 好 静态页面好培训课程开发
  • 网站管理的含义一个人在线观看的视频全免费
  • 泉州晋江网站建设费用网站开发制作平台
  • 南京设计网站可以做电商题目的网站
  • 海口市做网站的公司上海网站建设怎么弄
  • 现在的网站开发框架百度关键词优化首选667seo
  • 做网站策划师的图片深入浅出wordpress 中文 pdf
  • 服装网站建设论文自己可以做开奖网站吗