Ich bin neu in Vue JS und ich möchte es lernen, indem sie eine sehr einfache Notiz-App zu bauen.Vue JS Anzeigeinhalt von ausgewählten Array
So gibt es eine Liste aller Notizen (ihre Namen) auf der linken Seite, und wenn Sie auf einen Namen einer Note klicken, wird ein Textfeld mit dem Hinweistext gefüllt ist mit dem Namen oben angezeigt:
Mein Problem besteht darin, das angeklickte Noten-Array in das Noten-Array zu bekommen und dessen Namen und Text auf der rechten Seite anzuzeigen. Ich habe eine (sehr ungeschickt) Ansatz versucht:
html:
<div class="col-md-3">
<ul style="margin-top: 50px">
<ol v-for="note in notes">
<h3 @click="setActive(note)">{{note.name}}</h3>
</ol>
</ul>
</div>
<div class="col-md-9" v-show="active">
<h1>{{active.name}}</h1>
<textarea class="form-control" rows="10">{{active.text}}</textarea>
</div>
js:
<script>
var vm = new Vue({
el: 'body',
data: {
active: {},
notes: [{
id: 1,
name: 'Note 1',
text: 'Text of note 1'
}, {
id: 2,
name: 'Note 2',
text: 'Text of note 2'
}, {
id: 3,
name: 'Note 3',
text: 'Text of note 3'
}, {
id: 4,
name: 'Note 4',
text: 'Text of note 4'
}, {
id: 5,
name: 'Note 5',
text: 'Text of note 5'
}]
},
methods: {
setActive: function(note) {
this.active.id = note.id
this.active.name = note.name
this.active.text = note.text
console.log(this.active.id)
}
}
});
</script>
Also gehe ich das geklickt Objekt und füllen einen "aktiven" -Data-Array, um es im Textfeld anzuzeigen. Das Problem ist, dass das "active" -Array in der Ansicht nicht aktualisiert wird.
Auch wenn ich eine Lösung finden würden die Daten zu aktualisieren, ich denke, das in Vue JS nicht der richtige Ansatz ist, und es könnte ein kurzes/einfacheres ..
Also meine Frage ist, gibt es eine andere sein Ansatz, um dies ein bisschen einfacher zu erreichen?