1
我已經使用這個鏈接作爲參考輸入路徑之前提出請求: https://router.vuejs.org/en/advanced/data-fetching.htmlVue的路由器beforeRouteEnter Vue公司,資源請求
import Vue from 'vue'
import VueResource from 'vue-resource'
Vue.use(VueResource)
function getCities() {
return Vue.http({
method: 'GET',
url: process.env.base_url + 'cities'
})
}
export default {
data() {
return {
cities: []
}
},
beforeRouteEnter (to, from, next) {
getCities((err, cities) => {
if (err) {
next(false)
} else {
next(vm => {
vm.cities = cities.data
})
}
})
},
watch: {
$route() {
this.cities = []
getCities((err, cities) => {
if (err) {
this.error = err.toString()
} else {
this.cities = cities.data
}
})
}
}
然而似乎是爲我工作不。我測試了這個代碼,並且成功地完成了請求。但是結果沒有被返回。目前,請求本身是從函數返回的,但我無法在beforeRouteEnter回調中顯示它,因爲它應該將它分配給vm.cities,而不是在watch $ route部分中。
任何幫助/意見表示讚賞。
你有沒有想出解決辦法?我想我遇到了類似的問題。 –
不幸的是,還沒有。每個人都不斷引用我的文檔,但似乎無法找到解決方案。最近沒有嘗試過很多,但很快就會再次嘗試。將讓你張貼@tjeezy – Lamarck
你使用什麼版本的vue和vue-router?另外,你是否把console.log聲明放在了整個?你確定'err'是虛假的? –