1
我對js前端框架非常陌生,我正在嘗試學習一些vue.js。vue.js 2組件中的對象列表
特別是我試圖渲染一個具有id
,description
和date
屬性的Note
對象的數組。
我試圖做到這一切在組件:)
我ul
元素看起來像
<ul class="list-group">
<li
is="note-item"
v-for="note in notesList"
v-bind:title="note.description"
:key="note.id"
></li>
</ul>
而且我Vue的代碼如下所示: 一些注意事項:
我在頁面加載vue.updateNoteList
上運行,其調用vue.loadFirstNote
。
Vue.component('note-item', {
template: '\
<li>\
{{ note.description }}\
<button v-on:click="$emit(\'remove\')">X</button>\
</li>\
',
props: ['notesList']
});
const vm = new Vue({
el: '#main-content',
data: {
input: '',
notesList: [{ }]
},
methods: {
updateNoteList: function (callback) {
const that = this;
Note.all((notes) => {
that.notesList = notes;
return callback();
});
},
loadFirstNote: function() {
if (this.notesList.length > 0) {
this.note = this.notesList[0];
}
}
});
我一直試圖讓這個工作了一整天,而且我越來越行不通。我收到以下控制檯錯誤。任何幫助,將不勝感激。
vue.common.js?e881:519 [Vue warn]: Property or method "note" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.
vue.common.js?e881:519 [Vue warn]: Error when rendering component <note-item>:
vue.common.js?e881:2961 Uncaught TypeError: Cannot read property 'description' of undefined
謝謝,這樣一個明顯的解決方案!有時候你看不到樹林裏的阿甘。由於模板是字符串文字,因此在發送函數中需要轉義。即模板:'...'; – mark