• 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'];
    }
  • 相关阅读:
    EF6 AddOrUpdate之后,数据没有改变而是新增了一条数据解决办法
    php多文件上传数组 转换
    windows svn 上传后 自动部署 到web目录下
    一组实用网址
    apache 虚拟ip
    ThinkPHP 空方法 显示
    thinkphp 创建子应用
    Zend Studio 9.0.4 新建项目
    鼠标悬浮停留三秒 显示大图
    mysql GROUP BY 与 ORDER BY 查询不是最新记录
  • 原文地址:https://www.cnblogs.com/e0yu/p/9801625.html
Copyright © 2020-2023  润新知