私はVue JSを初めて使いました。私は非常に基本的なノートアプリケーションを構築することでそれを学びたいと思っています。Vue JS選択された配列の内容を表示
だから、左のすべてのメモ(自分の名前)のリストがあり、あなたがノートの名前をクリックすると、ノートテキストで満たされたテキストエリアには、上記の名前で表示されます。
私の問題は、ノートの配列でクリックされたノート配列を取得し、その名前とテキストを右側に表示することです。 私は(非常に不器用な)アプローチを試みた:
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>
だから私はクリックしたオブジェクトを渡すと、 "アクティブ" を記入します-data配列をテキストエリアに表示します。問題は、「アクティブな」配列がビュー内で更新されていないことです。
私は、データを更新するための解決策を見つけるだろうしても、私はこれがVueのJSに正しいアプローチではないと思いますし、短い/シンプルな1があるかもしれません。..
だから私の質問は別があり、ありますこれを少し簡単にするアプローチ?