【发布时间】:2017-05-25 04:29:35
【问题描述】:
我目前正在使用 WordPress REST API 和 vue-router 在小型单页网站上的页面之间进行转换。但是,当我使用 REST API 对服务器进行 AJAX 调用时,数据会加载,但仅在页面已经呈现之后。
vue-router documentation 提供了有关如何在导航到每条路线之前和之后加载数据的见解,但我想知道如何在初始页面加载时加载所有路线和页面数据,从而避免需要加载每次激活路线时的数据。
注意,我将数据加载到 acf 属性中,然后使用 this.$parent.acfs 在 .vue 文件组件中访问它。
main.js 路由器代码:
const router = new VueRouter({
routes: [
{ path: '/', component: Home },
{ path: '/about', component: About },
{ path: '/tickets', component: Tickets },
{ path: '/sponsors', component: Sponsors },
],
hashbang: false
});
exports.router = router;
const app = new Vue({
router,
data: {
acfs: ''
},
created() {
$.ajax({
url: 'http://localhost/placeholder/wp-json/acf/v2/page/2',
type: 'GET',
success: function(response) {
console.log(response);
this.acfs = response.acf;
// this.backgroundImage = response.acf.background_image.url
}.bind(this)
})
}
}).$mount('#app')
Home.vue 组件代码:
export default {
name: 'about',
data () {
return {
acf: this.$parent.acfs,
}
},
}
有什么想法吗?
【问题讨论】:
标签: javascript jquery ajax wordpress vue.js