簡體   English   中英

帶有laravel 5.3的Vue.js

[英]Vue.js with laravel 5.3

我正在將Laravel 5.3與Vue.js一起使用(這是新的)。 這是我當前的代碼

app.js

var vm = new Vue({
    el: '#app',

    data:  {
            messages: []
    },

    ready: function(){

        this.getMessages();
    },


    methods: {

        getMessages: function(){
                this.$http.get('api/messages').then((response) => {
                    this.$set('messages', data);
                        }, (response) => {
                });
        }
    }
});

api.php路由非常簡單

Route::get('/messages', function() {
     return Message::latest()->get();
    });

注意:在這里,當我嘗試以localhost:8000 / api / messages的身份直接訪問路由時,將獲得具有完整數據的數組

我認為我有

<div class="content"   id="app">
                <tr v-for="message in messages">
                    <td> @{{ message}} </td>
                </tr>
</div>

我已經為所有jquery,vue.js和vue.resource提供了在線庫。 當我使用vue.js調試器時,它表明它返回messages[]但它為空。 我遵循了很多示例,但無法使其正常工作。 任何幫助是極大的贊賞

如果您使用的是vue.js 2.0,現在不建議使用ready,則可以改用mount

mounted: function () {
  this.$nextTick(function () {
    this.getMessages();
  })
}

Vue.js文件

由於您使用的是箭頭語法,因此我切換到完整的ES2015代碼

getMessages() {

    this.$http.get('api/messages')
      .then( result => {
       this.messages = result.json() 
      })

}

嘗試這個:

var vm = new Vue({
    el: '#app',

    data:  {
            messages: []
    },

    ready: function(){

        this.getMessages();
    },


    methods: {

        getMessages: function(){
                let ctrl = this;
                this.$http.get('api/messages').then((response) => {
                    this.messages = response.data;
                });
        }
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM