2018-09-26 vue.js

1、查询字符串

传参时书写格式:

  /user/regist?uname=jack&upwd=123

接收时书写格式:

  {{$route.query}}

2、rest风格传参

传参时书写格式:

  /user/login/rose/456

接收时书写格式:

  {{$route.params}}

例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .active{
                color:red;
            }
        </style>
        
    </head>
    <body>
        <div class="app">
            <router-link to="/home">首页</router-link>
            <router-link to="/user">用户页</router-link>
            <router-view></router-view>
        </div>
        <script src="js/vue.js"></script>
        <script src="js/vue-router.js"></script>
        <script>
            var home={
                template:`
                  <h1>这是首页</h1>
                `
            }
            
            var user={
                template:`
                <div>
                  <h1>这是用户页</h1>
                  <ul>
                  <li>
                    <router-link to="/user/Regist?name=zhu&upwd=456">注册</router-link>
                  </li>
                  <li>
                    <router-link to="/user/Login/rose/678">登录</router-link>
                  </li>
                  </ul>
                  <router-view></router-view>
                </div>
                `
            } 
            
            var Regist={
           template:`
            <div>
             <h3>这是注册页</h3>
             <a href="">{{$route.query}}</a>
             <a href="">{{$route.query.name}}</a>
             <a href="">{{$route.query.upwd}}</a>
            </div>
          `
       }
       
        var Login={
           template:`
          <div>
             <h3>这是登录页</h3>
             <a href="">{{$route.params}}</a>
             <a href="">{{$route.params.name}}</a>
             <a href="">{{$route.params.upwd}}</a>
          </div>
          `
       }

            
            const routes=[
              {path:"/",component:home},
              {path:"/home",component:home},
              {
                path:"/user",
                component:user,
                children:[
                   {path:'regist',component:Regist},
                   {path:'login/:name/:upw',component:Login}
               ]
              }
            ]
            
            const router = new VueRouter({
                routes:routes,
                linkActiveClass:"active"
            })
            new Vue({
                el:".app",
                router:router
            })
        </script>
    </body>
</html>

1、axios知识点

(1)axios是Vue中的ajax,axios分为1.0版本(Vue-resource)和2.0版本(axios库)。
(2)ajax是前端网页和后台数据做交互。

2、axios的下载:

npm install axios

例:
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <div class="app">
            <router-link to="/home">首页</router-link>
            <router-link to="/user">用户页</router-link>
            <router-view></router-view>
        </div>
        <script src="js/vue.js"></script>
        <script src="js/vue-router.js"></script>
        <script src="js/axios.js"></script>
        <script>
            var home={
                template:`
                <h1>这是首页</h1>
                `
            }
            var user={
                template:`
                <h1>这是用户页</h1>
                `
            }
            const routes=[
                {path:"/",component:home},
                {path:"/home",component:home},
                {path:"/user",component:user}
            ]
            const router=new VueRouter({
                routes:routes
            })
            new Vue({
                el:".app",
                router:router
            })
        </script>
    </body>
</html>

3、http-server的安装

npm install http-server -g

4、开启一个服务

http-server 

http-server的练习

HTML部分:
<div class="app">
            <router-link to="/home">首页</router-link>
            <router-link to="/user">用户页</router-link>
            <router-view></router-view>
        </div>

java script的练习
<script src="js/vue.js"></script>
        <script src="js/vue-router.js"></script>
        <script src="js/axios.js"></script>
        <script>
            var home={
                template:`
                <h1>这是首页</h1>
                `
            }
            var user={
                template:`
                <div>
                <h1>这是用户页</h1>
                <table border=1>
                  <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:"index.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
            })
            new Vue({
                el:".app",
                router:router
            })
        </script>

json文件部分
[
{
    "num":1,
    "pname":"苹果",
    "price":2,
    "count":3,
    "sub":6
},
{
    "num":2,
    "pname":"香蕉",
    "price":3,
    "count":4,
    "sub":12
},
{
    "num":3,
    "pname":"桃子",
    "price":4,
    "count":5,
    "sub":20
},
{
    "num":4,
    "pname":"柚子",
    "price":5,
    "count":6,
    "sub":30
}
]

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容

  • # 传智播客vue 学习## 1. 什么是 Vue.js* Vue 开发手机 APP 需要借助于 Weex* Vu...
    再见天才阅读 3,533评论 0 6
  • ## 框架和库的区别?> 框架(framework):一套完整的软件设计架构和**解决方案**。> > 库(lib...
    Rui_bdad阅读 2,899评论 1 4
  • 当你看到很远 比如沙滩上的地平线 当你去过很远 比如南极上的冰原 当你把视线收回到身边 却并没有一个人 你会否感觉...
    水摇绢阅读 270评论 0 2
  • Admit承认,接受 Change改变 inner world内心世界 depict描绘 All walks of...
    一直等着没有下手阅读 211评论 0 0
  • 爱情是什么?我这样问自己, 是慰藉心灵的良药, 还是慢性自杀的毒药? 爱情有用吗?我这样问自己, 爱情是无用的, ...
    地球最后的夜晚阅读 173评论 4 7