Vue.js $ emit和$ dispatch有什么区别?

在vue2.0中,事件$dispatch$broadcast已弃用。

而且我发现$dispatch与相似$emit

它们之间有什么区别?迁移时直接替换$dispatch安全吗$emit

索拉卜

不,你不会是能够取代$disptach$emit无处不在。您可以替换它,无论使用它在从孩子到父母的通信中使用什么位置,但是对于其他情况,则可能必须采取其他方法。

文档中升级技巧中Evan您的类似评论):

这些方法最常见的用途之一是在父母与其直系子女之间进行交流。在这些情况下,您实际上可以通过v-on收听来自孩子的$ emit。这使您可以通过增加明确性来保持事件的便利性。

但是,在远方的后代/祖先之间进行通信时,$ emit不会帮助您。相反,最简单的升级方法是使用集中式事件中心。

$ dispatch的文档中

调度事件,首先在实例本身上触发它,然后沿父链向上传播。传播在触发父事件侦听器时停止,除非该侦听器返回true。

另一方面$ emit

在当前实例上触发事件。任何其他参数都将传递到侦听器的回调函数中。

因此,您可以看到,如果您通过将通信传递给多个父元素层$dispatch,则必须使用$emit

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Vue.js 中的 `&` 和 `&&` 有什么区别?

Vue JS 中的等号“=”和冒号“:”有什么区别?

导入Vue.js库和通过Vue-CLI安装它有什么区别?

Vue.js中“ data:”和“ data()”之间有什么区别?

vue.js中的watch方法和计算方法有什么区别

vue.js:<component:is =“ comp-name” />和<div:is =“ comp-name” />有什么区别?

Vue.js中的全局方法和实例方法之间有什么区别?

Vue.js中的class和staticClass之间有什么区别吗?

Vue.js 中标签的 Id 和 ref 之间有什么区别?

vm。$ set和Vue.set有什么区别?

axios 和 vue-axios 有什么区别?

vue-router 和 from :to 有什么区别

laravel 刀片组件和 vue 组件有什么区别?

jquery min js和slim js有什么区别

使用mapDispatchToProps和this.props.dispatch()有什么区别

dispatch和bindActionCreators之间有什么区别?

babel.config.js 和 vue.config.js 有什么区别,我可以合并这两个文件吗?

node.js和node有什么区别?

getDefaultProps和getInitialState react js有什么区别

asm.js和WebAssembly有什么区别?

.js和.mjs文件有什么区别?

node.js中的__dirname和./有什么区别?

.htc和.js文件有什么区别?

Fabric.js:add()和addWithUpdate()有什么区别?

Axios.js 和 API RestFul 有什么区别?

Angular Js中的模块和库有什么区别

React JS中的ComponentWillMount和ComponentDidMount有什么区别?

React 中的 .js、.tsx 和 .jsx 有什么区别?

什么是Vue JS中的$ emit(\'remove \')