Vue.js是一個(gè)構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的web界面的庫。重點(diǎn)集中在MVVM模式的ViewModel層,因此非常容易與其它庫或已有項(xiàng)目整合
Vue.js 的核心是一個(gè)響應(yīng)的數(shù)據(jù)綁定系統(tǒng),它讓數(shù)據(jù)與DOM保持同步非常簡(jiǎn)單
如下列表展示,當(dāng)我們從后端接口或者json文件使用ajax獲取數(shù)據(jù)之后現(xiàn)實(shí)到頁面,我們有n中方式去把數(shù)據(jù)渲染到頁面
1.使用js的for循環(huán)去遍歷填充
2.ng的ng-repeat
今天我們使用vue.js的v-for
一、html
<div class="shop_list_box"> <ul> <li><span>蚌埠</span><span>鳳陽東路</span></li> <li><span>蚌埠</span><span>鳳陽東路</span></li> </ul> </div>
二、Json數(shù)據(jù)節(jié)點(diǎn)
三、使用v-for綁定數(shù)據(jù)到頁面上
引用vue.js,請(qǐng)求數(shù)據(jù)成功之后實(shí)例化一個(gè)Vue。el是綁定到那個(gè)元素下
注意這里時(shí)一個(gè)數(shù)組里面包了一些對(duì)象---->{}或者[{},{},{}]
GetAjaxData("js/cstore2.json", {name:"zq"}, function (dat) { var data = dat.cstore // console.log(data) var vm = new Vue({ el: '#example', data: { items: data } }) });
<div class="shop_list_box"> <ul id="example"> <li v-for="item of items"> <span>{{ item.city }}</span><span>{{ item.shop }}</span> </li> </ul> </div>
到這里就ok了。
不過也可以使用template v-for
template v-for 類似于v-for
{{item.city}}也可以使用v-text=” item.city”代替,優(yōu)點(diǎn)是數(shù)據(jù)沒有加載完時(shí)不會(huì)看到{{}}占位符