Vue Router:使用 props 將組件和路由解耦


 

在組件中使用 $route 會使之與其對應路由形成高度耦合,從而使組件只能在某些特定的 URL 上使用,限制了其靈活性。

可以使用 props 將組件和路由解耦。

 

一 路由配置(布爾模式):

 

import Vue from "vue";
import Router from "vue-router";
import Home from "./views/Home.vue";
import User from "./components/User.vue";

Vue.use(Router);

export default new Router({
  mode: "hash",
  base: process.env.BASE_URL,
  routes: [
    {
      path: "/",
      name: "home",
      component: Home
    },
    {
      path: "/user/:id",
      component: User,
      props: true
    }
  ]
});

 

二 User組件

 

<template>
    <div>{{id}}</div>
</template>
<script>
export default {
  name: "user",
  props: ["id"]
};
</script>

 

三 運行效果

 

User 組件通過輸入屬性,就能訪問路由參數。不需要再通過this.$route.params,來訪問路由參數。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM