0

所以我使用 laravel 5.2 制作了一个 api,并使用 VueJs 从中提取数据。我能够通过获取所有结果来获取 index() 操作的数据。现在我的问题变得有点复杂了。我需要创建一个 show() 方法,以便表格中的每个帖子都会转到它的单个帖子页面。

methods: {
        fetchItems: function (page) {
            var data = {page: page};
            this.$http.get('api/v1/pages', data).then(function (response) {
                //look into the routes file and format your response
                this.$set('items', response.data.data);
                this.$set('pagination', response.data.pagination);
            }, function (error) {

            });
        },
        changePage: function (page) {
            this.pagination.current_page = page;
            this.fetchItems(page);
        }
    }

这是我的 VueJs 代码。

 <div class="col-md-12" v-for="post in items" track-by="$index">
            <a href="@{{ post.slug }}"><h1>@{{ post.title }}</h1></a>
            <p>@{{ post.body }}</p>
 </div>

这是我的 显示所有帖子

我的问题: 1. 我应该为 show 方法创建一个单独的文件吗?2. 如何利用 laravel ioc 从 post 模型中获取 $slug 并显示单页。

4

1 回答 1

0

但是,您不必创建新页面,除非您使用 Vueify 之类的东西来编写单个文件组件,否则您可能需要这样做。它会更容易。

与创建列表视图、ajax 调用和索引 api 的方式相同,您可以创建视图、ajax 调用和 api 来显示我们的帖子(使用帖子 ID)。您的 api 响应应该发送您需要显示的所有数据,包括 slug。

根据您的 github 存储库,为您的 api 创建一个类似这样的路由,idpost id 在哪里:

Route::resource('show/{id}', 'PagesController@show');
于 2016-06-06T23:37:09.527 回答