programing

명명된 경로에 대한 매개 변수가 없습니다."x"가 정의되어야 합니다.

itsource 2022. 7. 26. 22:55
반응형

명명된 경로에 대한 매개 변수가 없습니다."x"가 정의되어야 합니다.

내가 이걸 하든지 말든지

Vue.router.push({ path: '/beats/catalog/1' }) 

또는 이것

Vue.router.push({ name: 'BeatsCatalog', params: { page: 1 } })

같은 결과를 얻을 수 있습니다.[vue-router] missing param for named route "BeatsCatalog": Expected "page" to be defined.

라우터:

{
        path: '/beats',
        components: {
            navbar: Navbar,
            default: { template: `<router-view/>` }
        },
        children: [{
                name: 'BeatsCatalog',
                path: 'catalog/:page',
                components: {
                    default: () => import('@/views/BeatsCatalog')
                },
                props: { default: true }
            },
            {
                path: 'upload',
                name: 'BeatsUpload',
                components: {
                    default: () => import('@/views/BeatsUpload')
                }
            },
        ],
        meta: { requiresAuth: true }
    }

문제의 원인은 무엇입니까?설정에는 아무런 문제가 없습니다.설명서와 같은 모든 작업을 하고 있습니다.고마워요.

@Giacoma, 컴포넌트 BeatsCatalog의 데이터 속성에서 이 페이지는 처음 로드되었을 때 정의되지 않았습니다.따라서 오류가 발생합니다.

이 문제를 해결하려면 라우터 링크를 v-if로 랩합니다.

같은 오류에 대한 자세한 설명은 다음과 같습니다.

https://github.com/vuejs/vue-router/issues/986

언급URL : https://stackoverflow.com/questions/47897542/missing-param-for-named-route-expected-x-to-be-defined

반응형