chaihongjun.me

[Vue]入门学习之二十Vue的全局API-extend

Vue的全局API里面有两个东东比较容易混淆,component和extend。首先给出定义,component是用来声明注册或者获取组件的。Vue组件是实例,带一堆Vue给的选项的实例。所以全局component的语法其实很简单:

Vue.component("这个是组件的名称",{/** 这里面是一堆Vue的选项,用来配置这个Vue组件的,选项都是键值对形式存在 **/})

然而,extend虽然和组件相关,但是不是用来注册或者获取组件的。extend是Vue的构造器,参数也是一个包含一对选项的对象。extend的使用语法:

Vue.extend({/** 一堆选项 **/});

extend通过一堆选项构造一“类”组件,这类的组件需要使用则需要实例化:

var Gouzao =Vue.extend({/** 一堆选项 **/});
//实例化方式一
new Gouzao();  //这里就实例化了

//实例化方式二
Vue.component("cus",Gouzao); //这么就实例化了一个组件 <cus></cus>

extend的核心还是扩展,所以可以设定一个基础的组件“类”,然后再扩展一个新的组件类型。


请注意下面的代码

Vue.component("组件名称", Vue.extend({/** 一堆选项 **/}));
Vue.component("组件名称", {/** 一堆选项 **/}));

以上两个代码等价,因为Vue在注册组件的时候会调用extend。

知识共享许可协议本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。作者:柴宏俊»