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