zoukankan      html  css  js  c++  java
  • vue--动态路由和get传值

    动态路由:

    <template>
      <div id="News">
        <v-header></v-header>
        <hr>
        {{title}}
        <br>
        <p v-for="(x,k) in list">
          <!-- <router-link to="/content/123">{{k}}-{{x}}</router-link> -->
          <!-- 因为要绑定我们的动态数据 所以要用 : 然后做拼接 -->
          <router-link :to="'/content/'+k">{{k}}-{{x}}</router-link>
        </p>
      </div>
    </template>
    <script>
    import Header from './Header.vue'; 
    export default {
      name: 'News',
      data () {
        return {
          title:'我是新闻News组件',
          list:['111','222','3330','444']
        }
      },
      methods:{},
      components:{
        'v-header':Header,
      }
    }
    </script>

    点击之后能够跳转到一个详情:可以新建一个详情的组件:

    <template>
        <div id="content">
            {{title}}----{{aid}}        
        </div>
    </template>
    <script>
    export default {
      name: 'Header',
      data () {
        return {
          title:'我是一个详情页面',
          aid:'',
        }
      },
      methods:{
        run(){},
      },
      mounted(){
          // 获取传递过来的动态路由的值
          console.log(this.$route.params);
          console.log(this.$route.params['aid']);
          this.aid = this.$route.params['aid'];
      }
    }
    </script>
    </script>

    此时还需要配置路由:

    // 1、创建组件
    import Header from './components/Header.vue'
    import Home from './components/Home.vue'
    import News from './components/News.vue'
    import Content from './components/Content.vue'
    
    // 2、配置路由
    const routes = [
      { path: '/home', component: Home },
      { path: '/news', component: News },
      { path: '/content', component: Content },
      { path: '/content/:aid', component: Content },
      { path: '*', redirect:'/home'}, // 默认跳转路由
    ]

    get传值:

    <p v-for="(x,k) in list">
      <!-- <router-link to="/content?aid=123">{{k}}-{{x}}</router-link> -->
      <router-link :to="'/content?aid='+k">{{k}}-{{x}}</router-link>
    </p>

    配置路由:

    // 2、配置路由
    const routes = [
      { path: '/home', component: Home },
      { path: '/news', component: News },
      { path: '/content', component: Content },
      { path: '*', redirect:'/home'}, // 默认跳转路由
    ]

    获取参数:

    mounted(){
        // 获取get传递过来的动态路由的值
        console.log(this.$route.query);
        console.log(this.$route.query['aid']);
        this.aid = this.$route.query['aid'];
    }
  • 相关阅读:
    leetcode回溯总结
    排序算法详解
    Java核心基础知识泛型
    leetcode贪心算法
    Linux虚拟机配置及安装Redis
    HJ6质数因子
    冒泡排序(升序)
    动态规划 背包问题
    配置mycatschema.xml
    HJ106字符逆序
  • 原文地址:https://www.cnblogs.com/e0yu/p/9801625.html
Copyright © 2011-2022 走看看