美文网首页
2018-09-25 axios

2018-09-25 axios

作者: 演不完的电影 | 来源:发表于2018-09-25 19:29 被阅读0次

    1、#axios: vue中的ajax,是用来前后端交互的。
    2、

       <head>
       <meta charset="UTF-8">
       <title>Document</title>
       <script src="js/vue.js"></script>
       <script src="js/vue-router.js"></script>
       <script src="js/axios.js"></script>
    </head>
    <body>
       <div id="app">
           <router-link to='/home'>首页</router-link>
           <router-link to='/detail'>详情页</router-link>
           <router-view></router-view>
       </div>
    
       <script>
           var Home={
               template:`
                  <h1>这是首页内容</h1>
                 `
           }
           var Detail={
               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:'json/fruit.json'
                   }).then(function(resp){  //请求成功
                       console.log(resp.data)
                       self.fruList=resp.data
                   }).catch(function(err){   //请求失败
                       
                   })
               }
           }
           const routes=[
                {path:'/',component:Home},
               {path:'/home',component:Home},
               {path:'/detail',component:Detail}
           ]
           const router=new VueRouter({
               routes:routes
           })
       new Vue({
           el:'#app',
           router:router
       })
       
       </script>
    </body>
    

    3、父传子、子传父(作业)

      <body>
    <div id="app">
        <father></father>
    </div>
    <script>
        Vue.component('father',{
            template:`
             <div>
             <ul>
              <li v-for='value in arr'>{{value}}</li>
             </ul>
               <user @send='rcMsg' userName='Jack'></user>
                <user @send='rcMsg' userName='Rose'></user>
            </div>
    
            `,
            data:function(){
                return{
                   arr:[]
                }
            },
            methods:{
                rcMsg:function(txt){
                    this.arr.push(txt)
                }
                }
        
        })
        Vue.component('user',{
            props:['userName'],
            template:`
             <div>
              <label>{{userName}}</label>
              <input type='text' v-model='inputVal'>
              <button @click='sendMsg'>发送</button>
             </div>
           `,
            data:function(){
                return{
                   inputVal:''
                }
            },
            methods:{
                sendMsg:function(){
                    this.$emit('send',this.userName+':'+this.inputVal)
                }
            }
        })
        
        
        
        
    new Vue({
        el:'#app'
    })
    </script>
    

    </body>

    相关文章

      网友评论

          本文标题:2018-09-25 axios

          本文链接:https://www.haomeiwen.com/subject/kkoloftx.html