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'];
    }
  • 相关阅读:
    用Python完成一个汇率转换器
    鸿蒙如何用JS开发智能手表App
    鸿蒙如何用JS开发智能手表App
    SAP Spartacus SplitViewComponent Migration 的一个具体例子
    SAP Spartacus B2B 页面 Popover Component 的条件显示逻辑
    SAP Spartacus 升级时关于 schematics 的更新
    SAP Spartacus B2B 页面 Disable 按钮的显示原理
    SAP Spartacus B2B 页面 Disable Confirmation 对话框的显示原理
    通过 Feature Level 动态控制 SAP Spartacus 的页面显示
    SAP Commerce Cloud Build Manifest Components
  • 原文地址:https://www.cnblogs.com/e0yu/p/9801625.html
Copyright © 2011-2022 走看看