嗨,我正在努力做到这一点,以便当用户打开页面时,只有在成功检索到服务器中的数据后,它才会打开,以便在用户进入后0.5秒左右才会显示。
为此,我读到我需要使用BeforeRouteEnter,但是在查找有关如何正确使用此方法的信息时遇到了麻烦,尤其是在等待REST API完成其请求时。
这是我要等到路由到新组件的方法:
async getThread() {
const response = await postsService.fetchOneThread({
id: this.blockId,
topic: this.topicId,
thread: this.postId
});
this.thread = response.data;
}
所以,一旦this.thread = response.data,那么我是否要显示该页面。
要注意的重要一点是,我还通过URL参数来获取作为主题/黑色/帖子ID的数据。
这也是我的getUrlParam方法
url() {
let x = this.$route.params.topic.split('-');
this.topicId = x[0];
let y = this.$route.params.id.split('-');
this.blockId = y[0];
let post = this.$route.params.thread.split('-');
this.postId = post[1];
this.getThread();
}
谢谢
答案 0 :(得分:0)
您需要在Departments(DepartmentID, Department)
Primary Key = DepartmentID
Aisles(Aisle_Id,Aisle)
Primary Key = Aisle_Id
Products(product_Id, Product_Name, aisle_id, department_id)
Primary key=product_Id
foreign key= aisle_id, department_id
orders(order_id, user_id, eval_set, order_dow, order_hour_of_day)
primary key= order_id
order_products(order_id, product_id, add_to_cart, reordered)
foreign key= order_id, product_id
内移动getThread
beforeRouteEnter
一些注意事项:
beforeRouteEnter: (to, from, next) => {
postsService.fetchOneThread({
id: this.blockId,
topic: this.topicId,
thread: this.postId
}).then( response => {
//store the data somewhere accessible
next()
})
},
是异步的,所以我正在使用beforeRouteEnter
来获取响应如果您决定使用then
,则需要添加一个变异并从promise的回调中调用它。
Vuex