Vue 中 extend 、mixins 、extends 的区别

  • Vue.extend
  • Vue.extend只是创建一个构造器,他是为了创建可复用的组件.
  • mixins,extends
  • 而mixins和extends是为了拓展组件.

优先级不同extend > extends > mixins. 

 1 import BaseEdit from '@/pages/assetbuymgr/assetbuymgrBaseEditPage'
 2 export default {
 3     extends: new BaseEdit(),
 4     components: {
 5     },
 6     props: {},
 7     computed: {},
 8     data () {
 9       return {}
10     },
11     methods: {},
12     watch: {},
13 }
 1 import BaseEditPage from '@/pages/baseEditPage.js'
 3 export default class confBaseEditPage extends BaseEditPage {
 4   constructor (moduleName) {
 5     super()
 6     let config = {
 7       components: {
 8       },
 9       props: {},
10       datas: {},
11       mounted: function () {
12       },
13       computed: {},
14       methods: {},
15       watch: {}
16     }
17     config.data = function () {
18       config.datas.formRules = this.initFormRule()
19       return config.datas
20     }
21     // 这里可以添加修改
22     config.datas.moduleName = moduleName
23     let sysName = 'assetbuymgr'
24     config.datas.sysName = sysName
25     const sys = require('@/api/' + sysName + 'Api.js').default
26     config.datas.apiInstance = sys
27     this.config = config
28     return config
29   }
30 }
export default class BaseEditPage {
// 这里是所有的根对象
}
jjyy 兢兢业业 yyjj
原文地址:https://www.cnblogs.com/ljyyjj/p/11358845.html