【Vue.js】No.011 JavaScript・jQuery・Vue.jsで同じ処理をしてみた2
概要
今回のサンプルでは「要素を追加する」という点にポイントを絞ってサンプルを作ってみたいと思います。
中身が空のul要素があり、その中にliを追加していくという形にしてみます。以下のようなイメージですね。
<ul class="test">
<!-- JSによりliが追加される -->
</ul>
コードサンプル
JavaScript / jQuery / Vue.jsそれぞれの書き方でコードサンプルを書いてみたいと思います。
JavaScript
var list = ['リスト1', 'リスト2', 'リスト3'],
ul = document.querySelector( '.test' );
for( var i = 0; i < list.length; i++ ){
ul.insertAdjacentHTML( 'beforeend', '<li>'+list[i]+'</li>' );
}
jQuery
$( function(){
var list = ['リスト1', 'リスト2', 'リスト3'],
ul = $( '.test' );
for( var i = 0; i < list.length; i++ ){
ul.append( '<li>'+list[i]+'</li>' );
}
} );
Vue.js
Vue.jsの場合は「v-for」というのを使用するため、若干HTML側にも調整が必要です。
以下のようになりますね。
<ul class="test">
<li v-for="list in lists">
{{ list }}
</li>
</ul>
「listsっていう配列をループさせますよ」という意味合いになります。
JSは以下のようになります。
new Vue( {
el: '.test',
data: {
lists: [
'リスト1',
'リスト2',
'リスト3'
]
}
} );
結果
結果というほどのアレもありませんが…以下のようなul > liが生成される形になりますね。
<ul class="test">
<li>リスト1</li>
<li>リスト2</li>
<li>リスト3</li>
</ul>