![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=1738869216-SVnCrzPTFbC4IXzIwQvxzaft0tNRxbKd-0-f625dd7761a7b0672c91b58c987b249d)
extend:局部注册时应用。注意,extend创建的是一个组件构造器,而不是一个具体的组件实例。因此,不能直接在new Vue()中使用new Vue({components:fun}),而是需要通过Vue.components()注册才可以使用。
代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P75_53046.jpg?sign=1738869216-3Xx8eGUnScmhhUVRluONsqw42tfGnaa8-0-f1fa025e2be121522416919f517257cf)
运行的效果如图4-12所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P76_9919.jpg?sign=1738869216-wL8TxwE4QeUmlIdIcU1T1t0EWI4YTU2I-0-27cbf6a54d9c91446aa17b5c70161557)
图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=1738869216-8Z2d3HZajFH6MMMjxgmt30E5XobFKlsO-0-4ec4e64ae4b21b80bd71258af4081c6e)
运行的效果如图4-13所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P77_10194.jpg?sign=1738869216-koz9sL0QhzOYRsid1Jkcdcx6rrcUnGhY-0-0b82fe2eb51b0aa282e32bd035e6986f)
图4-13 extend运行效果图(二)