質問編集履歴

1

更新

2023/04/11 06:15

投稿

nosuke09
nosuke09

スコア9

test CHANGED
File without changes
test CHANGED
@@ -17,9 +17,30 @@
17
17
 
18
18
  ### 発生している問題・エラーメッセージ
19
19
  色々試して今は下記の状態で止まってしまっていると言う状況です。
20
- ルートをそれぞれ設定して、htmlのタグを2つ用意して、それぞれmountしているといった感じです。
20
+ ~~ルートをそれぞれ設定して、htmlのタグを2つ用意して、それぞれmountしているといった感じです。
21
- これだとどちらも表示されるようになっており(例えば、一般ユーザーのログイン画面で下にスクロールすると管理者のログイン画面がある)、先に定義しているからか、#user-appにマウントした方はルーティング通り遷移するのですが、管理者画面はアクセスできません。
21
+ これだとどちらも表示されるようになっており(例えば、一般ユーザーのログイン画面で下にスクロールすると管理者のログイン画面がある)、先に定義しているからか、#user-appにマウントした方はルーティング通り遷移するのですが、管理者画面はアクセスできません。~~
22
+ 失礼しました。上記は
23
+ ```JavaScript
24
+ {
25
+ path: "/:catchAll(.*)", // 全てのパスに対して
26
+ redirect: "/"
27
+ }
28
+ ```
29
+ というルート設計を入れていたためおかしな挙動をしていたようです。
30
+
31
+ こちらを消すことで、一応意図通りに動くようにはなったと思うのですが、コンソールを確認すると
32
+ ```console
33
+ vue-router.mjs:35 [Vue Router warn]: No match found for location with path "/"
34
+ ```
35
+ というワーニングが発生しています。恐らく、常にどちらのルーティングも指定のURLを探しており、例えば"/"のpathの一般ユーザーのログイン画面にいる場合は、管理者のルーティングには"/"のpathがないためワーニングが出るのだと推測しています。
36
+
37
+ ## 知りたいこと
38
+ 結局知りたいことですが
22
- 一般的にこのようなルーティングを分けたい場合どのように実装するのでしょうか?参考になる記事もなかなか見つからないので質問させていただきます。
39
+ **一般的にこのようなルーティングを分けたい場合どのように実装するのでしょうか?**
40
+ 私の実装の仕方だと仕様上、回避できないワーニングだと思います。であればそもそも実装の仕方が悪いのだと考えています。
41
+ 参考になる記事もなかなか見つからないので質問させていただきます。
42
+
43
+ ## 該当のソースコード
23
44
 
24
45
  ```html:index.html
25
46
  <body>
@@ -108,7 +129,6 @@
108
129
  ```
109
130
 
110
131
 
111
- ### 試したこと
112
- まず最初は一つのApp.vueに対してmountしていたのですが、一つのアプリケーションにはルーティングは一つしかダメみたいなワーニングが出たので、AdminApp.vueを作成し、それぞれにmountしました。
113
132
 
114
133
 
134
+