当我尝试创建必须在另一个页面中完成的操作时,如何重定向到页面?
示例:
我创建了一个页面,该页面将询问书籍的详细信息并将其保存到数据库中。第一页将要求用户放入书的封面,标题和说明。我将Vue Component用于页面,将axios用于将其保存在数据库中。我使用这段代码window.location.href = "/create-book/"
重定向到另一个页面,该页面将使用户可以开始编写,并且在他保存该页面时,该页面将保存在他正在制作的当前书中。
现在我陷入了困境
Vue组件
axios.post('/admin/saveBook', formData).then(function(result){
// console.log(result.data)
window.location.href = "/admin/write-book";
});
在我的控制器中,我使用了它
控制器
return response()->json($book);
我的目标是将整个页面写一整页。谢谢!
答案 0 :(得分:1)
您可能会考虑使用Vue Router,特别是Dynamic Route Matching和Programmatic Navigation。
在路由器中,您将拥有一条动态的书籍路径。
routes: [
{
// dynamic segments start with a colon
path: '/books/:id',
name: 'book',
component: Book
}
]
然后在组件中,导航到有关创建的书。
axios.post('/admin/saveBook', formData).then(function(result) {
this.$router.push({ name: 'book', params: { id: result.data.book.id }});
});
如果您需要在浏览图书时获取该书的信息,则可以在挂载时使用id来获取它,也可以将其作为道具传递给导航。参见Passing Props to Route Components。