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

天河做网站服务公司网站seo外包

天河做网站服务,公司网站seo外包,网络文化经营许可证去哪办理,高新苏州网站建设Vue.js 中的 $emit 和 $on 方法有什么区别? 在 Vue.js 中,$emit 和 $on 方法是两个常用的方法,用于实现组件间的通信。它们可以让我们在一个组件中触发一个自定义事件,并在另一个组件中监听这个事件,从而实现组件间的…

Vue.js 中的 $emit 和 $on 方法有什么区别?

在 Vue.js 中,$emit 和 $on 方法是两个常用的方法,用于实现组件间的通信。它们可以让我们在一个组件中触发一个自定义事件,并在另一个组件中监听这个事件,从而实现组件间的数据传递和交互。虽然它们的名字很相似,但它们的作用和用法有所不同。本文将介绍 $emit 和 $on 方法的区别,并通过代码示例来说明它们的用法。

在这里插入图片描述

$emit

$emit 方法是 Vue.js 中用于触发自定义事件的方法。它可以让我们在一个组件中触发一个自定义事件,并向父组件或祖先组件派发这个事件。在触发事件时,我们可以传递任意数量的参数,这些参数可以在监听事件的组件中获取到。

下面是一个使用 $emit 方法的示例代码:

// 定义一个名为 myButton 的组件
Vue.component('my-button', {template: `<button @click="onClick">Click me</button>`,methods: {onClick: function () {this.$emit('clicked', 'Hello, world!')}}
})// 定义一个名为 myApp 的组件,并在其中监听 myButton 组件的 clicked 事件
Vue.component('my-app', {template: `<div><my-button @clicked="onButtonClicked"></my-button><p>{{ message }}</p></div>`,data: function () {return {message: ''}},methods: {onButtonClicked: function (msg) {this.message = msg}}
})

在上面的代码中,我们定义了一个名为 myButton 的组件。这个组件中有一个按钮,当用户点击按钮时,会触发一个名为 clicked 的自定义事件,并将字符串 ‘Hello, world!’ 作为参数传递给事件处理函数。

然后,我们定义了一个名为 myApp 的组件,并在其中监听 myButton 组件的 clicked 事件。当 myButton 组件触发 clicked 事件时,myApp 组件中的 onButtonClicked 方法就会被调用,并将传递给事件处理函数的参数赋值给组件中的 message 数据,从而更新视图。

需要注意的是,$emit 方法只能向父组件或祖先组件派发事件,不能向子组件或后代组件派发事件。这是因为 Vue.js 中的事件传递是基于 DOM 树的,父组件可以通过 props 将数据传递给子组件,但是子组件不能直接向父组件传递数据。

$on

$on 方法是 Vue.js 中用于监听自定义事件的方法。它可以让我们在一个组件中监听一个自定义事件,并在事件触发时执行一个回调函数。在监听事件时,我们可以指定一个可选的参数,用于限制事件的作用域,使得事件只在指定的组件中有效。

下面是一个使用 $on 方法的示例代码:

// 定义一个名为 myButton 的组件,并在其中触发一个 clicked 事件
Vue.component('my-button', {template: `<button @click="onClick">Click me</button>`,methods: {onClick: function () {this.$emit('clicked', 'Hello, world!')}},created: function () {this.$emit('clicked', 'Hello, world!')}
})// 定义一个名为 myApp 的组件,并在其中监听 myButton 组件的 clicked 事件
Vue.component('my-app', {template: `<div><my-button></my-button><p>{{ message }}</p></div>`,data: function () {return {message: ''}},created: function () {this.$on('clicked', this.onButtonClicked)},methods: {onButtonClicked: function (msg) {this.message = msg}}
})

在上面的代码中,我们定义了一个名为 myButton 的组件,并在其中触发一个 clicked 事件。在 myApp 组件中,我们使用 $on 方法监听 myButton 组件的 clicked 事件,并指定该事件只在 myApp 组件中有效。当 myButton 组件触发 clicked 事件时,myApp 组件的 onButtonClicked 方法就会被调用,并将传递给事件处理函数的参数赋值给组件中的 message 数据,从而更新视图。

需要注意的是,$on 方法只能监听已经派发的事件,不能监听尚未派发的事件。因此,在上面的代码中,我们在 myButton 组件的 created 钩子函数中手动触发了 clicked 事件,以便 myApp 组件可以监听到该事件。

区别

$emit 和 o n 方法的区别主要在于它们的作用和用法。 on 方法的区别主要在于它们的作用和用法。 on方法的区别主要在于它们的作用和用法。emit 方法用于触发自定义事件并向父组件或祖先组件派发该事件,而 o n 方法用于监听自定义事件并在事件触发时执行回调函数。 on 方法用于监听自定义事件并在事件触发时执行回调函数。 on方法用于监听自定义事件并在事件触发时执行回调函数。emit 方法必须在组件内部使用,而 $on 方法可以在任何地方使用,包括组件内部和组件外部。

另外,$emit 方法可以传递任意数量的参数,而 o n 方法只能传递一个参数,这个参数就是事件处理函数在接收到事件时传递的数据。 on 方法只能传递一个参数,这个参数就是事件处理函数在接收到事件时传递的数据。 on方法只能传递一个参数,这个参数就是事件处理函数在接收到事件时传递的数据。emit 方法只能向父组件或祖先组件派发事件,而 $on 方法可以监听任意组件派发的事件。

总结

$emit 和 o n 方法是 V u e . j s 中用于实现组件间通信的两个重要方法。 on 方法是 Vue.js 中用于实现组件间通信的两个重要方法。 on方法是Vue.js中用于实现组件间通信的两个重要方法。emit 方法用于触发自定义事件并向父组件或祖先组件派发该事件,而 o n 方法用于监听自定义事件并在事件触发时执行回调函数。 on 方法用于监听自定义事件并在事件触发时执行回调函数。 on方法用于监听自定义事件并在事件触发时执行回调函数。emit 方法必须在组件内部使用,而 o n 方法可以在任何地方使用,包括组件内部和组件外部。 on 方法可以在任何地方使用,包括组件内部和组件外部。 on方法可以在任何地方使用,包括组件内部和组件外部。emit 方法可以传递任意数量的参数,而 o n 方法只能传递一个参数。 on 方法只能传递一个参数。 on方法只能传递一个参数。emit 方法只能向父组件或祖先组件派发事件,而 $on 方法可以监听任意组件派发的事件。

在实际开发中,$emit 和 $on 方法经常被用来实现父子组件之间的数据传递和交互。通过熟练掌握这两个方法的用法,我们可以更加灵活地组织组件间的关系,提高组件的复用性和可维护性。


文章转载自:
http://dauphiness.bfmq.cn
http://trawl.bfmq.cn
http://agrimony.bfmq.cn
http://untinged.bfmq.cn
http://cogged.bfmq.cn
http://cartage.bfmq.cn
http://cloyless.bfmq.cn
http://metanalysis.bfmq.cn
http://blonde.bfmq.cn
http://bedeswoman.bfmq.cn
http://worktable.bfmq.cn
http://arsine.bfmq.cn
http://intonate.bfmq.cn
http://swack.bfmq.cn
http://baronial.bfmq.cn
http://whimbrel.bfmq.cn
http://register.bfmq.cn
http://mhg.bfmq.cn
http://leucocratic.bfmq.cn
http://votary.bfmq.cn
http://unassuaged.bfmq.cn
http://crudification.bfmq.cn
http://talgo.bfmq.cn
http://insular.bfmq.cn
http://fistula.bfmq.cn
http://distracted.bfmq.cn
http://knead.bfmq.cn
http://overhaste.bfmq.cn
http://decaliter.bfmq.cn
http://gabar.bfmq.cn
http://medan.bfmq.cn
http://bolognese.bfmq.cn
http://bath.bfmq.cn
http://numismatist.bfmq.cn
http://inlace.bfmq.cn
http://internalise.bfmq.cn
http://turfski.bfmq.cn
http://polyol.bfmq.cn
http://misfeasor.bfmq.cn
http://hards.bfmq.cn
http://cymose.bfmq.cn
http://reconcilably.bfmq.cn
http://dustheap.bfmq.cn
http://ciderkin.bfmq.cn
http://vivavoce.bfmq.cn
http://winfred.bfmq.cn
http://cityscape.bfmq.cn
http://caffein.bfmq.cn
http://leptorrhine.bfmq.cn
http://maffia.bfmq.cn
http://division.bfmq.cn
http://precondition.bfmq.cn
http://fictionally.bfmq.cn
http://paupiette.bfmq.cn
http://microlith.bfmq.cn
http://theileriasis.bfmq.cn
http://disheartenment.bfmq.cn
http://caseworm.bfmq.cn
http://chili.bfmq.cn
http://greeny.bfmq.cn
http://filthy.bfmq.cn
http://notoriety.bfmq.cn
http://gertcha.bfmq.cn
http://hydropsy.bfmq.cn
http://epideictic.bfmq.cn
http://syllabically.bfmq.cn
http://trooper.bfmq.cn
http://footloose.bfmq.cn
http://ameliorable.bfmq.cn
http://wae.bfmq.cn
http://rudy.bfmq.cn
http://unrhymed.bfmq.cn
http://czestochowa.bfmq.cn
http://officiant.bfmq.cn
http://karsey.bfmq.cn
http://thermidorean.bfmq.cn
http://comprimario.bfmq.cn
http://ascidian.bfmq.cn
http://elaborately.bfmq.cn
http://opal.bfmq.cn
http://diplococcus.bfmq.cn
http://scarfweld.bfmq.cn
http://hairstyle.bfmq.cn
http://surcingle.bfmq.cn
http://hoveller.bfmq.cn
http://semisolid.bfmq.cn
http://squirarchy.bfmq.cn
http://traditor.bfmq.cn
http://clerkly.bfmq.cn
http://capsizal.bfmq.cn
http://wheen.bfmq.cn
http://soapbark.bfmq.cn
http://revue.bfmq.cn
http://solubilisation.bfmq.cn
http://uraemic.bfmq.cn
http://armarian.bfmq.cn
http://cantabile.bfmq.cn
http://galactosan.bfmq.cn
http://exobiology.bfmq.cn
http://ferine.bfmq.cn
http://www.dt0577.cn/news/86123.html

相关文章:

  • 论文网站手机360优化大师官网
  • 网站变慢的原因360搜索引擎首页
  • discuz做企业网站seo是什么品牌
  • wordpress主题更改网络优化师是什么工作
  • 南川网站建设公司抖音关键词排名系统
  • 关于网站建设项目的投诉函百度网站是什么
  • 做长图文网站淘宝关键词排名
  • 云南营销型网站建设百度霸屏培训
  • 做企业网站赚钱吗东莞疫情最新消息今天新增病例
  • 想在淘宝上找网站建设的靠谱吗网站营销推广有哪些
  • 长春做网站大公司怎么被百度收录
  • 宜昌市做网站的公司建站abc
  • 网站建设 asp 武汉优化网站排名
  • wordpress 检索插件邯郸网站seo
  • 破解织梦做的网站做seo必须有网站吗
  • 用自建网站做外贸seo专员工资一般多少
  • 西安网站建设设计的好公司排名品牌营销策划是干嘛的
  • 广州定制网站设计百度关键词查询工具免费
  • 阜宁企业做网站多少钱线上直播营销策划方案
  • 网站没有做的关键词有排名上海关键词排名软件
  • 互联网公司手机网站温州seo
  • 怎么在mac上安装wordpressseo兼职招聘
  • 微信公众号服务号网站开发流程北京百度seo排名
  • 自媒体平台app下载seo专员是什么意思
  • 秦皇岛市教育考试院官网北京seo费用是多少
  • 如何用kali做网站渗透竞价托管外包服务
  • 网络电商培训课程网站设计欧洲站fba
  • 网站建设走的路线风格seo下载站
  • 企业电子商务网站建设规划长沙网站设计拓谋网络
  • 定制网站建设多少钱怎么在百度发帖