我們需要額外兩個(gè)依賴vuex 和 axios:(還是接著上一個(gè)項(xiàng)目MyFirstProject寫)
npm i vuex axios -D
首先簡(jiǎn)單的闡述下http請(qǐng)求
1、main.js 中引入axios
import axios from 'axios' Vue.prototype.$http = axios;
2、focus.vue中寫個(gè)函數(shù)獲取數(shù)據(jù)
<template> <div id="focus"> <ul > <li v-for="(item,index) in focusList"> <div class="fportraits"> <img :src="'./src/'+item.portrait" :alt="item.name"> </div> <div class="details"> <div class="ftitle"><strong> {{ item.name }} </strong></div> <p> {{ item.production }} </p> </div> <div class="isfocused"> <p>取消關(guān)注</p> </div> <div class="clearfix"></div> </li> </ul> </div></template><script> export default{ data(){ return { focusList:[] //存儲(chǔ)請(qǐng)求返回的數(shù)據(jù) } }, mounted(){ this.getFocusList() }, methods:{ getFocusList(){ //http get請(qǐng)求data.json 的數(shù)據(jù) var vm = this; this.$http.get('src/assets/data/data.json') .then(function(res){ vm.focusList = res.data; }) .catch(function(err){ console.log(err) }) } } }</script><style scoped>#focus{text-align:left;}#focus ul{margin:0 auto;width:50rem;border-bottom:none;}#focus p{margin:0;}#focus li{width:46rem;display:block;border-bottom:1px solid #ddd;padding:0.5rem 2rem;cursor:default;}#focus img{height:4rem;margin-left:-1rem;}.fportraits{float:left;width:4rem;height:4rem;border-radius:50%;overflow:hidden;}.details{float:left;margin-left:1rem;}.isfocused{float:right;font-size:0.8rem;height:0.8rem;line-height:0.8rem;margin:0;}.clearfix{clear:both;}</style>
獲取成功后展示效果如圖:
我的兩個(gè)男神羨慕羨慕有沒(méi)有很帥
到此請(qǐng)求數(shù)據(jù)就結(jié)束了,是不是很簡(jiǎn)單,然額接下來(lái)涉及到store就有點(diǎn)復(fù)雜了,欲知后事如何,且聽(tīng)下回分解~
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注