axios

2018-09-27  本文已影响0人  闫梓璇

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中
使用:
1.安装:npm install axios
2.引入 用script标签引入 <script src='axios.js'></script>
3.配合.json一起用 .json是自己创建存储数据的 axios可以把.json中的数据调过来

例如:
1.json中模拟几条数据 .json中是一个数组 并且在写对象中的数据时要用双引号

[
 {
     "num":1,
     "pname":"apple",
     "price":3,
     "count":4,
     "sub":12
 },
 {
     "num":2,
     "pname":"pear",
     "price":4,
     "count":5,
     "sub":20
 },
 {
     "num":3,
     "pname":"orange",
     "price":5,
     "count":6,
     "sub":30
 }
]

2.模拟一个表格

<body>
<div id="app">
   <router-link to='/index'>首页</router-link>
   <router-link to='/deital'>用户页</router-link>
   <router-view></router-view>
</div>

<script src='vue.js'></script>
<script src='vue-router.js'></script>
<script src='axios.js'></script>
<script>
    var Index={
        template:`
            <h1>这是首页</h1>
        `
    }
    var Deital={
        template:`
            <div>
              <h1>我是详情页</h1>
               <table border=1 cellspacing=0>
                <thead>
                    <tr>
                       <td>编号</td>
                       <td>品名</td>
                       <td>单价</td>
                       <td>数量</td>
                       <td>小计</td>
                    </tr>
                </thead>
                <tbody>
                   <tr>
                       <td></td>
                       <td></td>
                       <td></td>
                       <td></td>
                       <td></td>
                   </tr>
                </tbody>
               </table>
             </div>
        `
    }
    
    const routes=[
        {path:'/',component:Index},
        {path:'/index',component:Index},
        {path:'/deital',component:Deital}
    ]
    
    const router=new VueRouter({
        routes:routes,
        linkActiveClass:"active"
    })
    new Vue({
        el:'#app',
        router:router
    })
</script>

此时显示出来的结果是:


QQ截图20180927081354.png

3.用axios调用.json数据 并且让表格可以应用这些值
此时表格是不能直接使用.json传过来的值得,所以让data中的fruList等于传过来的.json值,表格使用fruList值就可以了 axios要写在mounted中

<script>
    var Index={
        template:`
            <h1>这是首页</h1>
        `
    }
    var Deital={
        template:`
            <div>
              <h1>我是详情页</h1>
               <table border=1 cellspacing=0>
                <thead>
                    <tr>
                       <td>编号</td>
                       <td>品名</td>
                       <td>单价</td>
                       <td>数量</td>
                       <td>小计</td>
                    </tr>
                </thead>
                <tbody>
                   <tr v-for="value in fruList">
                       <td>{{value.num}}</td>
                       <td>{{value.pname}}</td>
                       <td>{{value.price}}</td>
                       <td>{{value.count}}</td>
                       <td>{{value.sub}}</td>
                   </tr>
                </tbody>
               </table>
             </div>
        `,
        data:function(){
            return{
                fruList:null
            }
        },
        mounted:function(){
            var self=this;
            axios({
                method:'get',//发送数据方式
                url:'fruit.json'//自己创建的.json数据
            }).then(function(resp){//请求成功
                console.log(resp.data)
                self.fruList=resp.data
            }).catch(function(err){//请求失败
                console.log(err)
            })
        }
    }
    
    const routes=[
        {path:'/',component:Index},
        {path:'/index',component:Index},
        {path:'/deital',component:Deital}
    ]
    
    const router=new VueRouter({
        routes:routes,
        linkActiveClass:"active"
    })
    new Vue({
        el:'#app',
        router:router
    })
</script>

最后的结果是:


QQ截图20180927081958.png
上一篇下一篇

猜你喜欢

热点阅读