vue.js的组件和实例的区别

各位大神,我只想知道vuejs的组件和实例中的那些methods,data,computed等到底有什么实质性的区别以及在dom中调用的时候有没有什么区别?组件可以使用那些生命周期的方法吗?

阅读 11.7k
4 个回答

没有实质性的区别,一个组件就是一个 vue 实例,只不过大多数情况下作为组件的实例是父级组件来初始化的。硬要说组件特殊的地方,无非是组件的 data 是一个方法,因为组件可以被生成多次,如果使用一个对象的话那么这个对象将被所有组件实例共享。另外在 Vue 2 中引入了 Functional Component 的概念,Functional Component 不再是一个 vue 实例了,它只渲染视图而不能进行逻辑操作,类似于 Vue 1 中 partial 的概念。

可以认为组件是以组件选项作为实例选项创建的 Vue 实例,但组件还要做更多处理工作,比如处理 props、生命周期钩子、自定义事件……。参见我在 github 上的一个代码详解

新手上路,请多包涵

All Vue components are essentially extended Vue instances.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题