【发布时间】:2018-06-28 14:14:01
【问题描述】:
我正在使用 Laravel 5.5 和 Vue.js 2.0
当我打开 example.com 并点击 Display Items 然后这个 url 触发example.com/items
这是结果
当我直接打开这个 url example.com/items 时,它只显示我从 Laravel 获得的 json 响应,而没有在 html (Vue.js) 中创建任何视图。
见下文:
如何在不先访问 example.com 的情况下访问直接 URL(如 example.com/items)在浏览器中获得准确的结果。
已更新
这是我的 Vue routes.js 文件
import Example from './components/ExampleComponent.vue'
import CreateItem from './components/CreateItem.vue'
import DisplayItem from './components/DisplayItem.vue'
import EditItem from './components/EditItem.vue'
export const routes = [
{ name: 'Example', path: '/', component: Example },
{ name: 'CreateItem', path: '/items/create', component: CreateItem },
{ name: 'DisplayItem', path: '/items', component: DisplayItem },
{ name: 'EditItem', path: '/items/:id/edit', component: EditItem }
];
像这样从 Laravel 获得响应
$items = Items::all();
// dd($items);
return response()->json($items);
DisplayItems.vue 文件 Vue.js 代码
<script>
export default {
data(){
return{ items: [] }
},
created: function()
{
this.fetchItems();
},
methods: {
fetchItems()
{
this.axios.get('/items').
then(response => {
this.items = response.data;
});
},
deleteItem(id)
{
let uri = '/items/'+id;
this.items.splice(id, 1);
this.axios.delete(uri);
}
}
}
</script>
【问题讨论】:
标签: laravel laravel-5 vue.js vuejs2 vue-component