![Vue.js从入门到项目实践(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/987/44509987/b_44509987.jpg)
上QQ阅读APP看书,第一时间看更新
4.3 extend的用法
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P75_9830.jpg?sign=1738913131-cmJvkztGCiL2O8is6P0tho1pprWHJvqJ-0-209c702e3a0342522181a4272074b245)
extend:局部注册时应用。注意,extend创建的是一个组件构造器,而不是一个具体的组件实例。因此,不能直接在new Vue()中使用new Vue({components:fun}),而是需要通过Vue.components()注册才可以使用。
代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P75_53046.jpg?sign=1738913131-O2aMscfCWid0uxOF5FOWWkQeaTjnmYqc-0-a08aa43c1ac133b57e1077346d51c4a3)
运行的效果如图4-12所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P76_9919.jpg?sign=1738913131-YozINw3GuYhkMhmQHUuzbL21RPSXb4qv-0-df79a7ec0559596a2e440e73b90e1ab1)
图4-12 extend运行效果图(一)
在实例化extend组件构造器时,传入属性必须是propsData,而不是props。另外,无论是Vue.extend()还是Vue.component()中的data定义都必须是函数返回对象,如Vue.extend({data:function(){return{}}})。
此外,使用new Vue()可以直接对data设置对象,如new Vue({data: {}})。代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P76_53048.jpg?sign=1738913131-tnCcqRnuPb85uqbCtUXpa1gaWBxrzWC7-0-fdb530a83d09690460a4cd5aa9e42630)
运行的效果如图4-13所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P77_10194.jpg?sign=1738913131-UUuROFZpmKeyg6Fj0xntAvLMmFrMITFz-0-f953b0a661b0cb42287d991f0de93feb)
图4-13 extend运行效果图(二)