首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在单个文件组件中扩展另一个VueJS组件?(ES6 vue-加载程序)

如何在单个文件组件中扩展另一个VueJS组件?(ES6 vue-加载程序)
EN

Stack Overflow用户
提问于 2016-03-12 22:30:13
回答 5查看 51.5K关注 0票数 42

我正在使用vue-装载机构造我的*.vue单文件组件,但是我在从另一个文件组件扩展单个文件组件的过程中遇到了问题。

如果一个组件遵循规范到export default { [component "Foo" definition] },我认为这只是一个导入该组件的问题(就像我对任何子组件一样),然后是export default Foo.extend({ [extended component definition] })

不幸的是,这是行不通的。有人能给我建议吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-03-12 22:43:50

正确的方法是使用mixins:http://vuejs.org/guide/mixins.html

将mixins看作抽象组件,您可以对其进行扩展。因此,您可以创建一个混合功能,并将其应用到您的每个组件中。

票数 20
EN

Stack Overflow用户

发布于 2016-03-12 22:43:33

经过一些测试后,简单的解决方案是确保导出一个Vue.extend()对象,而不是为任何被扩展的组件导出一个普通对象。

在我的例子中,基本组件:

代码语言:javascript
运行
复制
import Vue from 'vue'

export default Vue.extend({ [component "Foo" definition] })

以及扩展的组件:

代码语言:javascript
运行
复制
import Foo from './Foo'

export default Foo.extend({ [extended component definition] })
票数 51
EN

Stack Overflow用户

发布于 2016-05-30 02:16:22

另一种可能是extends选项:

代码语言:javascript
运行
复制
import Foo from './Foo'

export default { extends: Foo }
票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35964116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档