Vue.extend 和 Vue.component 的区别是什么?
Vue.extend
和 Vue.component
都是用于创建 Vue 组件的方法,但它们的用途和使用方式有所不同:
- Vue.extend:这个方法用于创建一个 Vue 构造器,它接受一个对象作为参数,这个对象包含了这个 Vue 实例的选项。你可以使用
new
关键字来创建一个基于这个构造器的新实例。这个方法常用于创建可复用的组件。例如:
var MyComponent = Vue.extend({ template: '<div>Hello!</div>' }) var component = new MyComponent().$mount('#app')
- Vue.component:这个方法用于全局注册一个组件,它接受两个参数:组件名和组件选项对象。注册之后,你就可以在任何地方使用这个组件了。这个方法常用于全局注册常用的组件。
例如:
Vue.component('my-component', { template: '<div>Hello!</div>' })
总的来说,Vue.extend
是用于创建 Vue 构造器的,你需要使用 new
关键字来创建一个基于这个构造器的实例。而 Vue.component
是用于全局注册组件的,注册之后你就可以在模板中直接使用这个组件了。