- 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 { // 這里是所有的根對象 }