路由的传参和axios

一.路由的参数
查询字符串:/user/regist?uname=jack&upwd=123
接收:{{$route.query}}
rest风格传参:/user/login/rose/456

路由器的参数实例:

<div id='app'>
       <router-link to='/home'>首页</router-link>
       <router-link to='/user'>用户页</router-link>
       
        <router-view></router-view>
   </div>
    <script src='vue/dist/vue.js'></script>
    <script src='vue-router/dist/vue-router.js'></script>
    <script>
       //2
        var Home={
            template:`
             <div>我是首页</div>
            `
        }
         var User={
            template:`
             <div>

                  我是用户页
                 <p>
                    <router-link to='/user/regist?uname=jack&upwd=123'>注册</router-link>
                  </p>
                 <p>
                    <router-link to='/user/login/rose/456'>登录</router-link>
                  </p>
                   <router-view></router-view>
             </div>
            `
        }
        var Regist={
            template:`
               <div>
               <h1>这是注册页面</h1>
               <a href="">{{$route.query}}</a>
               <a href="">uname:{{$route.query.uname}}</a>
               <a href="">upwd:{{$route.query.upwd}}</a>
              </div>
             `
        } 
         var Login={
            template:`
                 <div>
                   <h1>这是登录页面</h1>
                   <a>{{$route.params}}</a>
                   <a>{{$route.params.uname}}</a>
                   <a>{{$route.params.upwd}}</a>
                 </div>
                `
        }  
      //3.
         const routes=[
             {path:'/',component:Home},
             {path:'/home',component:Home},
             {
                 path:'/user',
                 component:User,
                 children:[
                     {path:'regist',component:Regist},
                     {path:'login/:uname/:upwd',component:Login}
                 ]
             }
         ]
       //4.创建实例
         const router=new VueRouter({
             routes:routes
         })
         
         
      new Vue({
          el:"#app",
          router:router
      })
    </script>

效果如下:


参数1.png
参数2.png

二.axios
1.axios是vue中的ajax 是vue的一个库
2.下载axios:npm install axios
3.开启服务器 $http-server
安装htttp-server:npm install http-server -g

axios实例:

<div id="app">
       <router-link to='/home'>首页</router-link>
       <router-link to='/user'>用户页</router-link>
       <router-view></router-view>
   </div>
    <script src="vue/dist/vue.js"></script>
    <script src="vue-router/dist/vue-router.js"></script>
    <script src="axios/dist/axios.js"></script>
    <script>
        var Home={
            template:`
                <div>
                    <h1>这是首页</h1>
                </div>
            `
        }
        
        var User={
            template:`
                <div>
                    <h2>这是用户页</h2>
                    <table>
                        <thead>
                            <tr>
                                <th>编号</th>
                                <th>名称</th>
                                <th>单价</th>
                                <th>数量</th>
                                <th>小计</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr v-for="value in list">
                                <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{
                   list:null 
                }
            },
            mounted:function(){
                var self=this;
                axios({
                    method:"get",
                    url:'fruit.json'//引入
                }).then(function(resp){
                    console.log(resp.data)
                    self.list=resp.data;
                }).catch(function(err){
                    console.log(err)
                }) 
            }
        }
        
        const routes=[
            {path:'/',component:Home},
            {path:'/home',component:Home},
            {path:'/user',component:User}
        ]
        
       const router = new VueRouter({
           routes:routes,
           linkActiveClass:'active'
       })
        
        new Vue({
            el:'#app',
            router:router
        })
    </script>
[
    {
        "num":1,
        "pname":"apple",
        "price":2,
        "count":1,
        "sub":6
    },
    {
        "num":2,
        "pname":"pear",
        "price":2,
        "count":1,
        "sub":6
    },
    {
        "num":3,
        "pname":"banana",
        "price":2,
        "count":1,
        "sub":6
    }
]

效果如下:


效果.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 路由:vue-router 带三方工具库 创建单页面应用 spa (single page applicatio...
    雨笑_e29c阅读 797评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • 相关概念 混合开发和前后端分离 混合开发(服务器端渲染) 前后端分离后端提供接口,前端开发界面效果(专注于用户的交...
    他爱在黑暗中漫游阅读 2,867评论 4 45
  • 所有人都在用生命交换阳光和空气 有些人不愿意做这种无分黑白的交易 可是上帝不情愿 强迫这些人面对用命得来的太阳 活...
    冰蛋不说话阅读 280评论 0 0
  • 书 名 自控力 作者 凯利·麦格尼格尔 ISBN 978-7-5142-0503-9 ...
    d9ce68731cdb阅读 1,138评论 0 3