vueルーティングの定義と使用法とネスト

7. Vueでのルーティング(VueRouter)

7.1、ルーティング

ルーティング:リクエストのパスに従って、リクエストは特定のルーティングルールに従って転送され、統一されたリクエスト管理を実現します。

7.2、役割

Vueのコンポーネント間の動的スイッチングを実装するために使用されます

7.3、ルーティングの使用

1.ルーティングのインポート
<script src="/path/to/vue.js"></script>
<script src="/path/to/vue-router.js"></script>   //监听url
2.コンポーネントオブジェクトを作成します
 //组件模板对象
  const login = {
    
    
      template :'<h1>用户登录 </h1>',
  }
  const register = {
    
    
      template: '<h1>  用户注册 </h1>'
  }
3.ルーティングオブジェクトのルールを定義します
//创建路由对象
const router = new VueRouter({
    
        //path:路由的路径   component:路径对应的组件
    routes:[ 
        {
    
    path: '/',redirect:login},
        {
    
    path:'/login',component:login},
        {
    
    path: '/register',component: register}
    ]
});
4.ルーティングオブジェクトをvueインスタンスに登録します
const app = new Vue({
    
    
    el: "#app",
    data: {
    
    
        username:"小爽帅到拖网速"
    },
    methods: {
    
    },
    components: {
    
    
        login,
        register
    },
    router:router //注册路由对象
});
5.ページにルーティングコンポーネントを表示します
  <!--显示路由的组件-->
<router-view></router-view>
6.リンクに従ってルーティングを切り替えます
<a href="#/login">点我登录</a>
<a href="#/register">点我注册</a>

7.4、ルーターリンクの使用

機能:ルートを切り替えるときに、ラベルを使用してルートを切り替える代わりに使用します

利点:ルーティングパスを自動的にjoin#に変更できます。手動で参加する必要はありません。

<router-link to="/login"  tag="button">我要登录</router-link>
<router-link to="/register">点我注册</router-link>
# 总结
	1、router-link用来替换使用a标签实现路由切换,好处是不需要书写#,直接书写路由路径
	2、router-link中的to属性用来书写路由路径, tag属性:用来将router-link渲染成指定的标签

7.5、デフォルトルート

機能:初めてインターフェースに入るときにデフォルトのコンポーネントを表示するために使用されます

//创建路由对象
const router = new VueRouter({
    
    
    routes:[
        //redircect:用来当访问的是默认路由"/"时,跳转到指定的路由展示 推荐使用
        {
    
    path: '/',redirect:'login'},
        // {path: '/',component:login},
        {
    
    path:'/login',component:login},
        {
    
    path: '/register',component: register}
    ]
});

7.6、ルーティングでのパラメータ転送

パラメータを渡す最初の方法:従来の方法

1.合格?数値形式のスプライシングパラメータ

router-link to="/login?id=123">我要登录</router-link>

2.コンポーネントからパラメータを取得します

//声明组件模板
const login = {
    
    
    template:'<h1>用户登录</h1>',
    data(){
    
    return{
    
    }},
    mehods:{
    
    },
    created(){
    
    
        console.log("---------------->"+this.$route.query.id);
    }
};

パラメータを渡す2番目の方法:RESTful

  1. パスを使用してパラメータを渡す

    <router-link to="/register/10086/小爽">点我注册</router-link>
    //创建路由对象
      const router = new VueRouter({
          routes:[
              {path:'/',redirect:'/login'},
              {path: '/login',component:login},
              {path: '/register/:id/:name',component:register}
          ]
      })
    
  2. コンポーネントのパラメータを取得する

    //声明组件模板
      const register = {
          
          
          template:'<h1>用户注册{
          
          {this.$route.params.name}}</h1>',
          created(){
          
          
              console.log("注册组件中的id:"+this.$route.params.id+"注册组件中的name:"+this.$route.params.name);
          }
      };
    

7.7、ネストされたルーティング

1.最も外側と内側のルーティングを宣言します
<template id="product">
 <div>
   <h1>商品管理</h1>
   <router-link to="/product/add">商品添加</router-link>
   <router-link to="/product/edit">商品编辑</router-link>
   <router-view></router-view>
 </div>
</template>

//声明组件模板
    const product = {
        template:'#product'
    };
    const add = {
        template: '<h4>商品添加</h4>'
    };
    const edit = {
        template: '<h4>商品编辑</h4>'
    };
2.ネストされたルーティングを含むルーティングオブジェクトを作成します
//定义路由对象
const router = new VueRouter({
    
    
    routes: [
        {
    
    path: '/product',
         component: product,
         children: [
             {
    
    path:'add',component:add},
             {
    
    path: 'edit',component: edit}
         ]

        },

    ]
});
3.ルーティングオブジェクトを登録します
const app = new Vue({
    
    
    el: "#app",
    data: {
    
    },
    methods: {
    
    },
    components: {
    
    },
    router
});
4.ルーティングをテストします
<router-link to="/product">商品管理</router-link>
<router-view></router-view>

おすすめ

転載: blog.csdn.net/weixin_46195957/article/details/111685704