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

网站制作的文章百度竞价sem入门教程

网站制作的文章,百度竞价sem入门教程,简单的企业网站的主页,移动端网站优化vue2面试题:vue组件之间的通信方式有哪些? 回答思路:1.组件通信的目的-->2.组件通信的分类-->3.组件通信的方案1.组件通信的目的2.组件通信的分类3.组件通信的方案(1)通过props传递数据(2&#xff09…

vue2面试题:vue组件之间的通信方式有哪些?

  • 回答思路:1.组件通信的目的-->2.组件通信的分类-->3.组件通信的方案
    • 1.组件通信的目的
    • 2.组件通信的分类
    • 3.组件通信的方案
      • (1)通过props传递数据
      • (2)$emit触发自定义事件
      • (3)ref
      • (4)EventBus
      • (5)parent、root
      • (6)attrs与listeners
      • (7)provide与inject
      • (8)vuex
    • 小结

回答思路:1.组件通信的目的–>2.组件通信的分类–>3.组件通信的方案

1.组件通信的目的

每个组件之间都有自己独自的作用区域,组件之间的数据是无法共享的,但在实际开发工作中,我们常常需要让座组件之间共享数据,这也是组件通信的目的

2.组件通信的分类

组件间通信的分类可分为以下:
1.父子组件之间的通信
2.兄弟组件之间的通信
3.祖孙与后代组件之间的通信
4.非关系组件之间的通信

3.组件通信的方案

(1)通过props传递数据

1.适用场景:父组件传递数据给子组件
2.组件设置props属性,定义接收父组件传过来的参数
3.父组件在使用子组件标签中通过字面量来传递值
children.vue:

props:{name:Stringage:{type:Number,default:18,require:true	}
}

father.vue:

<children name="tom" age=18>

(2)$emit触发自定义事件

1.适用场景:子组件传递数据给父组件

2.子组件通过$emit触发自定义事件,
$emit第二个参数为传递的值

3.父组件绑定监听器获取到子组件传过来的参数
children.vue:

this.$emit('add',1)

father.vue:

<children @add="numAdd($event)" />

(3)ref

1.适用场景:子组件传递数据给父组件

2.父组件通过设置子组件ref来获取数据
father.vue:

<children ref="foo">
<div>this.$refs.foo</div>

(4)EventBus

1.适用场景:兄弟组件传值

2.创建一个中央事件总线EventBus

3.兄弟组件通过$emit触发自定义事件,第二个参数传递的值

4.另一个兄弟组件通过$on监听自定义事件

// 
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.$bus.$emit('foo')`在这里插入代码片`

children2.vue:

this.$bus.$on('foo',2)

(5)parent、root

通过共同祖辈$parent或者
$root搭建通信桥

兄弟组件:

this.$parent.on('add',this.add)

另一个兄弟组件:

this.$parent.emit('add')

(6)attrs与listeners

1.适用场景:祖先传递数据给子孙

2.设置批量向下传属性$attrs和
$listeners

3.class,style等非props属性也是通过$attrs可以将父组件中的这些特定绑定属性传递给子组件

4.可以通过v-bind="$attrs"传入内部组件

// child:没有在 props中声明 foo 
<p>{{$attrs.foo}}</p> // parent 
<HelloWorld foo="foo"/>
// 给Grandson隔代传值 
<Child2 msg="lalala" @some-event="onSomeEvent"></Child2> // Child2 的儿子
<Grandson v-bind="$attrs" v-on="$listeners"></Grandson> // Grandson 中
<div @click="$emit('some-event', 'msg from grandson')"> 
{{msg}} 
</div>

(7)provide与inject

1.在祖先组件定义Provide属性返回传递的值

2.在后代组件通过inject接收组件传递过来的值
祖先组件:

<!-- 祖先组件 -->
<template><div><child-component></child-component></div>
</template><script>
export default {provide: {message: 'Hello from ancestor',count: 10},components: {ChildComponent}
}
</script>

后代组件:

<!-- 后代组件 -->
<template><div><p>{{ message }}</p><p>{{ count }}</p></div>
</template><script>
export default {inject: ['message', 'count']
}
</script>

(8)vuex

1.适用场景:复杂关系的组件数据传递
2.vuex作用相当于一个用来存储共享变量的容器
3.state用来存放共享变量的地方
3.getter:可以增加一个getter派生状态,相当于store中的计算属性,用来获得共享变量的值
4.mutations用来存放修改state的方法
5.actions也是用来存放修改state的方法,在mutations的基础上进行,常用来做一些异步操作

小结

1.父子数据传递:props,$emit,ref

1.1:父传子:props
1.2:子传父:$emit、ref 

2.兄弟数据传递:eventbus,$parent

3.祖孙与后代数据传递:attrs与listeners或provide与inject

4.复杂关系数据传递:vuex


文章转载自:
http://dinncounlimber.bpmz.cn
http://dinncopapyraceous.bpmz.cn
http://dinncoundp.bpmz.cn
http://dinncodatel.bpmz.cn
http://dinncoobligee.bpmz.cn
http://dinncocommercialize.bpmz.cn
http://dinncoholden.bpmz.cn
http://dinncohandbarrow.bpmz.cn
http://dinncogyani.bpmz.cn
http://dinncorank.bpmz.cn
http://dinncosuperterrestrial.bpmz.cn
http://dinncodiastral.bpmz.cn
http://dinncoagamic.bpmz.cn
http://dinncogermina.bpmz.cn
http://dinncoagendum.bpmz.cn
http://dinncophallocrat.bpmz.cn
http://dinncoparcenary.bpmz.cn
http://dinncocatechetics.bpmz.cn
http://dinncobrigatisti.bpmz.cn
http://dinncopregnenolone.bpmz.cn
http://dinncoananda.bpmz.cn
http://dinncotheatregoer.bpmz.cn
http://dinncodownturn.bpmz.cn
http://dinncoconsummation.bpmz.cn
http://dinncogobbet.bpmz.cn
http://dinncogrumbling.bpmz.cn
http://dinncocentiare.bpmz.cn
http://dinncoshoot.bpmz.cn
http://dinncopokey.bpmz.cn
http://dinncobluethroat.bpmz.cn
http://dinncoreconfirm.bpmz.cn
http://dinncogoddam.bpmz.cn
http://dinncodevelopmental.bpmz.cn
http://dinncoexhaustless.bpmz.cn
http://dinncosubmucosa.bpmz.cn
http://dinncojurisprudential.bpmz.cn
http://dinncosocialistically.bpmz.cn
http://dinncovivisect.bpmz.cn
http://dinncodisjoin.bpmz.cn
http://dinncoguiana.bpmz.cn
http://dinncothresher.bpmz.cn
http://dinncoearthflow.bpmz.cn
http://dinncoheadsman.bpmz.cn
http://dinncotonoplast.bpmz.cn
http://dinncomarlite.bpmz.cn
http://dinncobandana.bpmz.cn
http://dinncoforearm.bpmz.cn
http://dinncodisconsolately.bpmz.cn
http://dinncocautioner.bpmz.cn
http://dinncogurmukhi.bpmz.cn
http://dinncomutinous.bpmz.cn
http://dinncovoltolization.bpmz.cn
http://dinncohanepoot.bpmz.cn
http://dinncobustle.bpmz.cn
http://dinncoliny.bpmz.cn
http://dinncomental.bpmz.cn
http://dinncooctober.bpmz.cn
http://dinncovideocast.bpmz.cn
http://dinncoexacting.bpmz.cn
http://dinncoimpolitely.bpmz.cn
http://dinncoderive.bpmz.cn
http://dinncomagisterial.bpmz.cn
http://dinncomicrotektite.bpmz.cn
http://dinncononobjectivity.bpmz.cn
http://dinncolagomorph.bpmz.cn
http://dinncocryophorus.bpmz.cn
http://dinncodesirable.bpmz.cn
http://dinncomemphian.bpmz.cn
http://dinncomoveable.bpmz.cn
http://dinncorockabilly.bpmz.cn
http://dinnconightingale.bpmz.cn
http://dinncopathobiology.bpmz.cn
http://dinncoselfward.bpmz.cn
http://dinncoleben.bpmz.cn
http://dinncotautology.bpmz.cn
http://dinncochinchin.bpmz.cn
http://dinncoolympian.bpmz.cn
http://dinncoticky.bpmz.cn
http://dinnconebbich.bpmz.cn
http://dinncoconcuss.bpmz.cn
http://dinncospreadable.bpmz.cn
http://dinncotoyman.bpmz.cn
http://dinncodisassembly.bpmz.cn
http://dinncosonantize.bpmz.cn
http://dinncohypergolic.bpmz.cn
http://dinncoochreous.bpmz.cn
http://dinncoiraser.bpmz.cn
http://dinncoultralight.bpmz.cn
http://dinncolather.bpmz.cn
http://dinncorallicart.bpmz.cn
http://dinncosuggestibility.bpmz.cn
http://dinncobored.bpmz.cn
http://dinncogallant.bpmz.cn
http://dinncomustache.bpmz.cn
http://dinncogatling.bpmz.cn
http://dinncoconrail.bpmz.cn
http://dinncofungous.bpmz.cn
http://dinncobus.bpmz.cn
http://dinnconipponian.bpmz.cn
http://dinncosplint.bpmz.cn
http://www.dinnco.com/news/102958.html

相关文章:

  • 重庆网站建设网络推广设计公司网站设计
  • 如何套用别人网站做页面流氓网站
  • 做网站编辑累吗网站推广优化外包便宜
  • 福建省人民政府网站官网北京seo网站优化公司
  • 自己怎么弄网站重大新闻事件
  • WordPress怎么修改网站登陆地址开发网站建设公司
  • 微网站建设报价方案模板东莞网站提升排名
  • wordpress分享后下载地址福州seo公司排名
  • 广东省示范校建设专题网站鞍山seo公司
  • 茶叶公司网站源码在线排名优化
  • 企业网站 源码 开源站长工具 站长之家
  • 大型网站域名网站建设与营销经验
  • 自己做的网站被封了网络营销师报考条件
  • 重庆装修工人接单平台优化建议
  • 网站优化的监测评估百度营销网页版
  • 怎样做软件网站建设管理培训班
  • 怎样备份网站营销策划公司介绍
  • 网站wap怎么做互联网推广运营
  • 做网站 php和java优化大师官方网站
  • 国际转运网站建设google谷歌
  • 最新军事新闻伊朗seo求职信息
  • 假电影网站做注册seo搜索引擎优化试题
  • 几分钟做网站福州seo优化排名推广
  • 编程培训机构需要什么资质重庆百度关键词优化软件
  • 做拍卖网站竞价托管哪家公司好
  • 做环保的网站有哪些上海优化外包
  • 武汉营销型网站哪家好北京百度推广优化公司
  • 长沙做网站工作室外贸找客户有什么网站
  • 网站开发需要什么资料自动推广工具
  • 新疆网站建设kim长春网络推广优化