lzxb / vuet

允许你定义飙车过程的集中式状态管理模式
MIT License
422 stars 74 forks source link

在mouted事件里获取vuet里面的data字段值为空 #16

Closed alasai closed 6 years ago

alasai commented 6 years ago

import { mapModules, mapRules } from 'vuet'

export default { mixins: [ mapModules({ data2: 'topic-detail'}), mapRules({ route: 'topic-detail' }) ], computed:{ topic(){ return this.data2.topic } }, mounted(){ console.log(JSON.stringify(this.data2)) //这里打印出来都是空值,为什么呢 var imgs=this.topic;
console.log(JSON.stringify(imgs)) //这里打印出来都是空值,为什么呢 } }

lzxb commented 6 years ago

看你data2模块的初始化的值是什么

alasai commented 6 years ago

刚才试了,mounted里必须用调用setTimeout 才能获取到值

lzxb commented 6 years ago

不太明白你说的值是哪个值? 是初始化的赋值,还是请求回来的值?

alasai commented 6 years ago

调用data.fetch请求回来的值

lzxb commented 6 years ago

请求是异步的,怎么可能可以确保mounted钩子完成请求,你应该使用watch钩子来监听数据的变更

alasai commented 6 years ago

恩好的,谢了,我再用watch来试下