<template>
<template v-if="$loadingRouteData">
loading
</template>
<template v-else>
<v-article></v-article>
</template>
</template>
<script>
import vArticle from './article'
import { getTopic } from '../vuex/actions'
export default {
vuex: {
actions: {
getTopic
}
},
components: {
vArticle
},
route: {
data({ to: {params: { id='' } } }) {
console.log(this.$loadingRouteData)
return this.getTopic(id)
.then((res) => {
console.log(this.$loadingRouteData)
})
}
}
}
</script>
actions.js
export const getTopic = ({dispatch}, id) => {
return Vue.http
.get(config.dev.host + '/api/topic', {
params: {
id
}
})
.then((res) => {
if (res.body.status === 0) {
res.body.topic.content = Marked(res.body.topic.content)
dispatch('GET_TOPIC_SUCCESS', res.body.topic)
}
return res
}, (err) => {
console.error(err)
})
}
打印出的loading,2个都是true,不应该是从true到false吗?因为我的promise被断定后?
vue-router版本是0.7.13
不知道你是不是用的vue-router 2, vue-router 2中已经移除了
https://cn.vuejs.org/v2/guide...