在組件中使用 $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,來訪問路由參數。

