如何在Laravel Spark中为vue.js预加载数据?

时间:2016-12-19 02:50:46

标签: laravel vue.js laravel-spark

根据文档和示例,我有完美的代码,功能很棒:

Vue.component('admin-competitions-index', {
data: function() {
    return {
        competitions: []
    }
},

mounted() {
    this.$http.get('/api/admin/competitions')
        .then(response => {
            this.competitions = response.data;
    });
},

methods: {
    /**
     * Toggle whether a competition is published or not.
     */
    togglePublished(competition) {
        Spark.patch(`/api/admin/competitions/togglePublished/${competition.id}`, this.togglePublishedForm)
            .then(response => {
                competition.is_published = response;
            });
    }
}
});

但是,我想更改此代码以保存在页面加载时产生的额外请求。我没有在Laravel或Spark的任何地方看到过这样的惯例。我猜我需要做的就是设置一个JS变量,但我不确定这样做是什么。

我也明白这种使用vue进行异步加载的方法很失败,但是我想学习这一点。我认为如果我将vue用于我的@show restful请求会变得更有用,即使我希望所有内容都异步加载,我至少也必须为vue提供我想要加载的竞争ID。

1 个答案:

答案 0 :(得分:0)

开箱即用:

@section('scripts')
<script>
   var competition = {!! $competition !!};
</script>
@endsection