疑问:(判断和传参)
点击导航栏目,js如何判断自己点击的是哪个具体栏目?
它们是如何传参的? 
如何使用params,携带查询参数?
效果图解说:
A. 点击选择【屈原“查看详情”】之前
B. 点击选择【屈原“查看详情”】之后
要点总结:
在vue-router中,有两大对象被挂载到了实例this; 
$route(只读、具备信息的对象); 
$router(具备功能的函数)
查询字符串:
1.去哪里 ?
<router-link :to="{name:'detail',query:{id:1}}"> xxx </router-link>
2.导航(查询字符串path不用改) 
{name:'detail',path:'/detail',组件}
3.去了干嘛?获取路由参数(要注意是 query ,还是 params 和 对应的 id 名"text-align: left">+ this.$route.query.id
path方式:
1.去哪里 ?
<router-link :to="{name:'detail',params:{name:1}}"> xxx </router-link>
2.导航(查询字符串path不用改)
{name:'detail',path:'/detail/:name',组件}
3.去了干嘛?获取路由参数(要注意是 query ,还是 params 和 对应的 name 名"text-align: left">+ this.$route.params.id
相关文件代码:
1. main.js文件
import Vue from 'vue';
import VueRouter from 'vue-router';
//引入主体(页面初始化显示)
import App from './components/app.vue';
//一个个link对象 - 分类
import Detail from './components/detail.vue';
import List from './components/list.vue';
//安装插件
Vue.use(VueRouter);//挂载属性
//创建路由对象并配置路由规则
let router = new VueRouter({
  //routes
  routes: [
  //一个个link对象
  {name: 'detail',path: '/detail',component: Detail},
  //此处的path规则不受list.vue中的query(匹配参数规则的)影响
  {name: 'list',path: '/list',component: List}
 ]
});
/* new Vue 启动 */
new Vue({
 el: '#app',
 render: c => c(App),
 //让vue知道我们的路由规则
 router:router,//可以简写为router
})
2. app.vue文件
<template>
 <div>
  <div class="header">
    头部 - 导航栏目
    <p>
      <router-link :to="{name:'detail'}">细节列表1</router-link>
      <router-link :to="{name:'list'}">英雄列表1</router-link>
    </p>
  </div>
  <!--留坑,非常重要-->
    <router-view class="main"></router-view>
    <div class="footer">底部 - 版权信息</div>
 </div>
</template>
<script>
  export default {
   data(){
    return{
    }
   },
   methods:{
   }
  }
</script>
<style scoped>
  .header,.main,.footer{text-align: center;padding: 10px;}
  .header{height:70px;background: yellowgreen;}
  .main{height:300px;background: skyblue;}
  .footer{height: 100px;background: hotpink;}
</style>
3. list.vue文件
<template>
  <div>
    我是list列表
    <!-- :key是绑定器 -->
    <!-- query是查询字符串,加查询参数 ,相当于查询规则;对比参考main.js关于路由配置path属性-->
    <ul>
      <li v-for="(hero,index) in heros" :key="index">
        {{hero.name}}
        <router-link :to="{name:'detail',query:{id:index}}">查看详情</router-link>
      </li>
    </ul>
  </div>
</template>
<script>
  export default{
    data(){
      return{
        heros:[{
          name:'李白'
        },{
          name:'杜甫'
        },{
          name:'屈原'
        },{
          name:'白居易'
        },{
          name:'李清照'
        },{
          name:'欧阳修'
        }]
      }
    }
  }
</script>
<style scoped> 
  ul,li{list-style: none;}
</style>
4. detail.vue文件:(可以在控制台查看打印结果)
<template>
  <div>
    我是详情
  </div>
</template>
<script>
  export default{
    data(){
      return{
      }
    },//DOM尚未生成
    create(){
      //获取路由参数
      //vue-router中挂载两个对象的属性
      //$route(信息数据)
      //$router(功能函数)
      /*console.log(this.$route.params);*/
      console.log(this.$route.query);
    },//已经将数据装载到页面上去了,DOM已经生成
    mounted(){
    }
  }
</script>
<style>
</style>
这就是本文的内容。
以上所述是小编给大家介绍的如何使用router-link对象方式传递参数详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
                        
