エラーが発生した場合、あるページから404ページにリダイレクトしたい。動作しますが、不可解なエラーがあります。
Profile.vue
methods: {
async getProfile(id) {
try {
const response = await this.$store.dispatch('GET_USER_PROFILE_BY_ID', { id });
this.userProfile = response.data.data;
} catch (err) {
this.$log.error(err);
await this.$router.push({ name: 'not-found' });
}
},
},
router.js
{
path: '*',
name: 'not-found',
component: () => import(/* webpackChunkName: "content-chunk" */ './views/site/404.vue'),
},
404.vue
export default {
name: 'not-found',
components: {
BRow,
BCol,
},
};
そして、私はブラウザコンソールでこのエラーを見ることができます
vue-router.esm.js:16 [vue-router] missing param for named route "not-found": Expected "0" to be defined
プロパティまたはパラメータ0はありません。私のアプローチは正しいですか?
回答 2 件
パス
*
提供されたリンクがルートで定義されていない場合のリダイレクトに使用されます。404ページにリダイレクトするには、次のような既存のパスをプッシュできません。push('/this-path-not-exists')
またはのような別のパスを使用しますpath:'/not-found'
定義する必要がありますコンポーネントとして404ページがあります
関連記事
- 要素のクリック時に、あるコンポーネントから別のコンポーネントにIDを渡す方法
- 別のコンポーネントから他のコンポーネントのデータとメソッドにアクセスする
- typecriptでコンポーネントの子エラーを反応させる
- React:JSXなしでコンポーネントを統合するとエラーが発生する
- コンポーネントから別のコンポーネントに可変角度を渡す
- 1つの値を2つに分割するvue3入力コンポーネントのeslintエラーを回避する最善の方法
- htaccess特定のドメインの1つおよび別の内部リダイレクトを除くすべてのページをリダイレクトします
- 小道具配列内のコンポーネントを別のコンポーネントに渡す
- あるコンポーネントから別のコンポーネントにメソッドを呼び出す簡単な方法はありますか?
- ReactNativeでInputFieldコンポーネントを作成するときにエラーが発生する
ルーターは、代わりに*プレースホルダーを使用するURLを認識していません。
指定したパスでyout404ルートを定義するか、プッシュするパラメーターを追加できます。
または、絶対URLを使用してthis。$router.push( '/ 404')を呼び出すだけです。