私はvue-routerを使用しており、subRoutesに関する質問があります。ルートを設定してメインルートがリストになり、サブルートが編集/追加/ etcのようなものになるようにしたいと思います。vue-router親ビューをsubRouteに置き換えます。
親ルートの<router-view>
を置き換えるsubRouteコンポーネントが必要です。ドキュメントと私がテストしたことを理解する方法では、subRouteをレンダリングするために親コンポーネントのテンプレートに別の<router-view>
を定義する必要がありますが、ユーザーリストは表示されたままです。
例路線:
'/users': {
name: 'user-list',
component(resolve) {
require(['./components/users.vue'], resolve)
},
subRoutes: {
'/add': {
name: 'add-user',
component(resolve) {
require(['./components/users_add.vue'], resolve)
}
}
}
}
メインルータビュー:
<!-- main router view -->
<div id="app">
<router-view></router-view>
</div>
ユーザーリスト:
<template>
<a v-link="{ name: 'add-user' }">Add</a>
<ul>
<li>{{ name }}</li>
</ul>
</template>
追加ユーザー:
<template>
<div>
<a v-link="{ name: 'user-list' }">back</a>
<input type="text" v-model="name">
</div>
</template>
「追加」をクリックすると、追加ユーザテンプレートで満たされたいと思っています。これは可能ですか?
また、ユーザーリストとユーザー追加コンポーネントの間に親子関係を確立することはできますか?私は、ユーザーのリストを追加コンポーネントに渡し、イベントをユーザーリストに戻すことができるようにしたいと思います。
ありがとうございます!
'/ user'に行くと、ユーザーリストがメインビューに表示されます。 '/ user/add'を実行すると自動的にilが同じ' 'にレンダリングされます。これがデフォルト動作です。 はい、小道具などを使用して親子通信を行うことができます。 –
highFlyingDodo
私のデフォルトの動作ではないようです。私がsubRoutesを定義してそれらにナビゲートすると、ルートルートはアクティブのままです。私がルートレベルのルートとしてsubRoutesを定義すると、それは動作します:/ – Chris
ここhttp://router.vuejs.org/en/nested.html – highFlyingDodo