mixins php,Mixins的使用

mixins/RemoteData.js:

export default function (resources) {

return {

data() {

let initData = {

removeDataLoading: 0,

remoteErrors: {},

}

// 下面这个for循环很重要,如果不初始化数据,就不会被Vue添加响应式属性,因此组件不会在属性更改时更新

for(const key in resources) {

initData[key] = null

initData.remoteErrors[key] = null

}

return initData

},

created () {

// 在钩子函数中操作DOM建议加上this.$nextTick

this.$nextTick (function () {

for (const key in resources) {

let url = resources[key]

this.fetchResource(key, url)

}

})

},

methods: {

async fetchResource (key, url) {

this.$data.removeDataLoading++

this.$data.remoteErrors[key] = null

try {

this.$data[key] = await this.$fetch(url)

} catch (e) {

// console.error(e)

this.$data.remoteErrors[key] = e

}

this.$data.removeDataLoading--

}

},

computed: {

remoteDataBusy () {

return this.$data.removeDataLoading !== 0

},

hasRemoteErrors () {

return Object.keys(this.$data.remoteErrors).some(

key => this.$data.remoteErrors[key]

)

},

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值