vue页面使用其他文件数据
vue中data(){ return{ }}里面的数据如何写到另一个js文件然后再调佣
- 在项目中我们经常会把一些公用的常用的数据放在一个文件里,那么其他vue或者js文件怎么引用这些数据呢?如下:
一、export default
公用数据文件
// 担保类型
let guaranteeType = [{
text: '抵押',
value: '01'
},
{
text: '一般保证',
value: '03'
},
{
text: '信用',
value: '04'
},
{
text: '其他',
value: '06'
}
]
export default guaranteeType
引用文件
created(){
console.log(comData.guaranteeType)
}
二、export
1、建立JS文件 data.js
// api/data.js
let listState = [
{ label: "设计中", value: "设计中" },
{ lable: "重新修改", value: "重新修改" },
{ label: "审阅中", value: "审阅中" },
{ lable: "已审批", value: "已审批" },
{ lable: "已发放", value: "已发放" },
{ lable: "已停用", value: "已停用" },
{ lable: "已报废", value: "已报废" }
];
export {
listState,
}
2、在使用页面引入数据
- 在script标签内部引入
// data 为文件名
import {listState} from '@/api/data.js'
- data内部定义变量
data() {
return {
listState:[],
};
},
- 使用create() 生命周期函数赋值
created() {
this.listState = listState
},
- 循环遍历
v-for="(item,i) in listState
简化版
// api/boutique/more.js
export default[
{src:'这里放img',title:'放标题',id:'地址'},
{src:'这里放img',title:'放标题',id:'地址'},
{src:'这里放img',title:'放标题',id:'地址'},
]
<u-grid-item v-for="(item, i) in list" @click="handleId(item.id)">
<img class="imgs" :src="item.src" alt="" />
<view class="grid-text">{{ item.title }}</view>
</u-grid-item>
<script>
import listState from '@/api/boutique/more.js';
export default {
data() {
return {
list: listState
};
},
}
</script>
3注意点
export default 与 export 的区别
- export 与 export default 可用于导出常量、函数、文件、模块
- 其它文件或模块中通过 import (常量 | 函数 | 文件 | 模块)名 from ‘path’ 的方式将其导入
- export、import 可以有多个,但是 export default 只能有一个
- 使用 export 导出,在导入时要加{ },export default 不需要