生命周期created()只会在渲染时执行一次,如果你需要对一个请求多次发起,建议就写在methods中,用方法调用的形式。
*** 只写了主要部分,并为写全 ***
// 定义mixin-code
data: {
dataList_A: [],
dataList_B: []
},
methods: {
handleLoadData(code, type) {
// 发送请求,将结果赋值dataList_x
// 注意?? (如果不是,则一个即可)
我觉得你的业务应该是每个commoncode对应返回的数据
都是各自的,所以在data中定义,需要定义多个对应组件
的dataList来存放数据,否则一个dataList会造成数据混乱.
type就是每个组件自己定义的一个变量,来区分是来自哪个
组件的,这样就能一一对应
}
}
// A组件中使用,其他组件如此
<template>
...
// 使用
{{dataList_A}}
// html中可能会手动触发调用,如果有额外参数可以自己增加
<button @click="handleLoadData(code, 'A')">点击</button>
...
</template>
<script>
import codeMixin from 'xx/xx/mixin-code'
mixins: [codeMixin],
created() {
// 组件应该每次都会调用请求获取数据
// code根据你的业务自己获取
this.handleLoadData(code, 'A')
}
</script>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…