VUE-ルータの基本的な理解を使用して5分
目的:VUE-ルータを使用するように
5分:時間を読み込むとき
出典:オリジナルではない、ビデオから仕上げ
主なコンテンツ
- VUE-ルートの基本的な使い方
- どのようにフックにと注文ルータの実行
- モードルータを渡すパラメータ
テキスト
router.gif
1.基本的な使用
1-1。フォルダのルートの確立、新しいindex.js
-
import Vue from 'vue';
-
import VueRouter from 'vue-router';
-
import Routes from './routes.js'
-
Vue.use(VueRouter);
-
export default new VueRouter {
-
mode: 'hash',
-
routes
-
}
-
复制代码
注上記のコードの二点。
-
最初のポイント:サードパーティのコンポーネントのVUEは、(...)コンポーネントをインストールするVue.useの方法によって必要とされています。
- ルータコンポーネント、インストール時に二つのグローバルコンポーネントを登録します
- ルータリンク:ジャンプ
- ルータビュー:どのような表示内容で
- (私は、次の2点を覚えて、ルータとルートの違いを知らないミスを犯す必要はありません一度。)コンポーネントのそれぞれに2つのプロパティがあります
-
$ルーター:すべてのメソッドが含まれています
- $ router.push({パス: 'ホーム'})
- $ Router.replace({パス: 'ホーム'})//代替ルート、ノー歴史
-
$ルート:すべての属性が含まれています
-
- ルータコンポーネント、インストール時に二つのグローバルコンポーネントを登録します
-
第二のポイント:
export default new VueRouter ({ })
属性とルーティングマップのものが用意されてい- モード:ハッシュ:デフォルト/#/
- モード:歴史:/
- ルートのルートマップ、どのルーティングコンポーネントは表示何VUE
- ...
1-2:routes.jsを作成します。
-
import Home from '../view/Home.vue';
-
...
-
export default [
-
{
-
path: '/', // 重定向到home页面
-
redirect: '/home'
-
},
-
{
-
path: '/home',
-
component: Home
-
}
-
...
-
]
-
复制代码
1-3:ルータに登録main.js
-
...
-
import router from './router'
-
...
-
new Vue({
-
router,
-
render: h => h(App),
-
}).$mount('#app')
-
复制代码
OK:ここでは、基本的なルーティングが達成されています
レッツ・ゴーapp.js利用ルータリンクとルータビューそれ
-
<template>
-
<div id="app">
-
<ul class="nav">
-
<li class="nav-item">
-
<router-link class="nav-link" to="/home">Home</router-link>
-
</li>
-
</ul>
-
<router-view></router-view>
-
</div>
-
</template>
-
复制代码
ルート遅延ロードは、このようなものです。
-
{
-
path: '/home',
-
component: () => import('../view/Home.vue')
-
}
-
复制代码
ネストされたが、このような外観をルーティングします。
-
{
-
path: '/user',
-
component: User,
-
// child 下面放需要嵌套的路径和视图
-
children: [
-
...
-
{
-
path: '/add',
-
name: 'userAdd',
-
component: () => import('../view/UserAdd.vue')
-
}
-
...
-
]
-
},
-
复制代码
そして、どのように実行順序2.ルータをフックします
- グローバルbeforeEachは:一般的に、アクセス制御のために使用します。
- ルートbeforeEnter:多くのと
- コールbeforeRouteEnter内のコンポーネント:このメソッドは、これはありません
- グローバルrouter.resolve
- グローバルafterEach
- コンポーネントbeforeRouterLeaveを呼び出す:フォームが送信され、そうかどうかを懸念している場合は残して、思い出させてくれます
- beforeRouterUpdate
beforeRouterUpdateは更新で使用されるパラメータをルーティングが、ルーティングアップデートを使用していませんでした。
-
router.beforeEach((to, from, next) => {
-
// 每个路由钩子都会有三个参数,是to、from、next
-
// 具体如何使用,我会单独写一个使用jwt权限控制的文章,在那里面结合实际使用来说明三个参数的使用和路由钩子的使用情况
-
})
-
复制代码
ここでは、私が唯一の実行順序の下で話をした、特定の参照は公式マニュアルを作った、または次のチャプターを制御するために、私の許可をたどることができます。
3.パラメータを渡す方法
渡すパラメータは二つの方法があります。
路由:/detail/1 Vs 路径:/detail?id=1
- 内部のパスパラメータをルーティング
-
vue代码如下:
-
<router-link to="/user/detail/1">用户1</router-link>
-
-----
-
routes代码如下:
-
{
-
// 路径里面传递参数是通过斜线传递的:比如/user/detail/1
-
path: 'detail/:id',
-
name: 'userDetail',
-
component: () => import('../view/UserDetail.vue')
-
}
-
----
-
这种参数在组件里面如何获取呢?
-
this.$route.params.id
-
复制代码
- 疑問符パラメータを構成する伝送路
-
<router-link to="/user/detail?id=1">用户1</router-link>
-
这种传递方式如何在组件里面获取参数呢?
-
this.$route.query.id
-
复制代码
要約:単純な転送経路の実施形態では、ネストされたルート、およびルーティングパラメータフックの実行の順序を初期化する方法を、本明細書中でおしゃべり。