API呼び出しからデータを取得するための動的ボタンを設定しようとしています。しかし、データ配列をテンプレートとdivにプッシュすることはできません。vuejsでdivでAPI結果を表示
マイVueJSは次のようになります。
var example = new Vue({
el: '#example',
data: function() {
return {
list: []
}
},
methods: {
fetchMovies: function (city) {
$.getJSON('api/city?city=' + city, function(tasks) {
console.log(tasks); // What i receive from API
console.log(city); // What is being sent from button
this.list = tasks; // API results in to list array
this.todos.push(this.newTodoText); // Push results to div
}.bind(this))
}
}
});
、ボタン、およびテンプレートは次のようになります。クロムのdevのツールで
<div id="example">
<button v-on:click="fetchMovies('stockholm')">Greet</button>
</div>
<div id="exampleList">
<tasks></tasks>
</div>
<template id="tasks-template">
<div>
<h1>vue grjer!</h1>
<ul class="list-group">
@{{ list.name }}
<li class="list-group-item" v-model="newTodoText" v-for="task in list.data">
@{{ task}}
</li>
</ul>
</div>
</template>
、私はログ(市)との両方を見ることができますログ(タスク)。だから私はAPIの結果を得ている。しかし、私はそれをテンプレートにプッシュする方法を理解することはできません。私が受け取っているエラーはTypeError: undefined is not an object (evaluating 'this.todos.push')
よう
todos
とnewTodoText
のデフォルト値を定義する必要がありますか?そして 'newTodoText'? –