Vue js에서 여러 페이지(컴포넌트)를 동적으로 사용
사용하고 있다Laravel Nova
를 사용하는 커스텀툴vue js
커스텀 기능을 제공합니다.
이 있습니다.tool.vue
모든 것이 거기서 처리되는 컴포넌트 내의 파일입니다.문제는 다른 템플릿(vue 파일)을 가지고 필요할 때 렌더링하고 싶다는 것입니다.
이 경우 나의 메인tool.vue
완전히 구현한 드롭다운 검색입니다.하지만 나는 다른 결과들의 목록을 렌더링하고 싶다.vue
버튼을 클릭한 후 파일을 작성합니다.(물론 다른 vue 파일은 데이터를 표시하기 위한 테이블이나 다른 것으로 구성됩니다).
문제는 vue js를 사용하여 이 문제를 어떻게 처리하고 컴포넌트 간에 어떻게 변경할 수 있는가 하는 것입니다.또한 어떻게 하면 메인 vue 파일에서 결과 페이지로 파라미터/데이터를 전달하여 Ajax 요청 등을 수행할 수 있는가 하는 것입니다.
페이지를 동적으로 SPA 형식으로 처리하려면 적절한 라우터를 사용하는 것이 좋습니다.그런 것 같다Laravel Nova
사용하고 있다vue-router
.
커스텀 컴포넌트를 작성할 때 커스텀컴포넌트에 인스톨 됩니다.다른 vue 파일을 사용하거나 다른 vue 파일을 전환하려면 다음 항목에 루트를 추가해야 합니다.nova-components\[your-component-name]\resources\js\tool.js
다음 형식의 루트 배열에 개체를 추가하여 파일을 만듭니다.
{
name: '[route-name]',
path: '/[route-path]/:[sent-prop-name]',
component: require('./components/[your-vue-file]'),
props: route => {
return {
[sent-prop-name]: route.params.[sent-prop-name]
}
}
},
이 파일에 라우터를 추가한 후 언제든지 사용할 수 있습니다.<router-link></router-link>
Vue 파일 내의 컴포넌트를 사용하여 원하는 경로로 리디렉션할 수 있습니다(데이터를 소품으로 경로에 전송할 수도 있습니다).주요 형식은 다음과 같습니다.
<router-link
class="btn btn-default btn-primary"
target="_blank"
:to="{
name: '[destination-route-name]',
params: {
[your-data-name]: [your-data-value]
}
}"
:title="__('[your-title]')"
>
Submit
</router-link>
추신: 물론 파일에 데이터를 송수신할 생각이 없다면 양쪽에서 소품이나 패러머를 생략할 수 있습니다.
추신: 언제든지 볼 수 있습니다.vue-router
더 많은 기능을 보강 여기.
언급URL : https://stackoverflow.com/questions/53260662/using-multiple-pages-components-dynamically-in-vue-js
'programing' 카테고리의 다른 글
Java: 문자열에서 일치 위치를 가져오는 방법? (0) | 2022.09.03 |
---|---|
Java 메모리 누전 검출 방법 (0) | 2022.09.03 |
Vue 컴포넌트 - 렌더링 위치가 잘못됨 (0) | 2022.09.03 |
java.nio. 파일을 가져옵니다.java.io로부터의 패스 오브젝트파일 (0) | 2022.09.03 |
vue.js와 함께 axios를 사용하여 이전 요청을 취소합니다. (0) | 2022.09.03 |