![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=1738851524-NwQgph5ZLTXdybpQReoXsqDbhyr6SiHB-0-177e139009db26e36e2c89d247a759ae)
extend:局部注册时应用。注意,extend创建的是一个组件构造器,而不是一个具体的组件实例。因此,不能直接在new Vue()中使用new Vue({components:fun}),而是需要通过Vue.components()注册才可以使用。
代码如下:
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P75_53046.jpg?sign=1738851524-hXGEzNPNzvWoENZea5nIGvKg0v39L86M-0-2bd76dd90b241f0f4dc95b3fe255c842)
运行的效果如图4-12所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P76_9919.jpg?sign=1738851524-E21unLxZpMemEmpyPwfZRfMMQ4WunbJe-0-a9c1f98c462801c8a4246a6d64dd5280)
图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=1738851524-NMuT452Exwi2Ryf9sbO0IgQCAbfw9fEN-0-cfdddecb0e7f1b686228b40547452b35)
运行的效果如图4-13所示。
![](https://epubservercos.yuewen.com/CC45E5/23721548909464406/epubprivate/OEBPS/Images/Figure-P77_10194.jpg?sign=1738851524-ip0foqiJUiH8BQYQ0Vqs8tXq1ywoEmez-0-4defde764a7c5f5b3b3b5644f578ff54)
图4-13 extend运行效果图(二)