programing

Parasails.js 및 사용(Vue 라우터 또는 가상 페이지)

prostudy 2022. 4. 1. 18:23
반응형

Parasails.js 및 사용(Vue 라우터 또는 가상 페이지)

Parasails.js 문서에는 지원 기능이 설명되어 있음router그리고virtualPages, 그러나 실제로 이러한 옵션과 상호 작용하는 방법을 명시하지는 않는다.

나는 Vue, VueRouter 및 각 개별 구성 요소를 .vue 파일로 직접 가져오는 일반적인 Vue 설정에 다소 익숙하다.

그러나 parasails.js를 사용하면 이 매개변수들이 설명서에 정의되지 않은 객체를 예상하는 것으로 느껴지기 때문에 이 시점에서 추측하는 것뿐입니다.

나는 지금까지 이 점에 도달했다.

parasails.registerComponent('mainSearch', {      
  props: [
    'prop1',
    'prop2',
  ],

  html5HistoryMode: 'history',
  virtualPages: [
    { path: '/foo', component: 'page2' },
  ],

  template: `
    <div class="test">
       <p>Test</p>
       <router-link to="/foo">Foo</router-link>
       <router-view />
    </div>
  `,

  beforeMount: function() {
    //…
    // Attach any initial data from the server.
    _.extend(this, SAILS_LOCALS);

  },
  mounted: async function(){
    //…
  },
  beforeDestroy: function() {
    //…
  },
});

그러나 나는 다음과 같은 오류를 받고 있다.

TypeError: In the HTML template (during render): Cannot read property 'matched' of undefined

성공적으로 사용 중인 사용자router또는virtualPages파라다이스에.js.에 나를 도와줄수 있니?

또한, 제 다음 질문은:구성 요소를 전달할 때virtualPages, 다른 파라다이스 등록 컴포넌트의 이름만 문자열로 제공하면 되는 겁니까?아니면 그 구성요소를 코드에 포함하고, VueRouter에서처럼 개체로 전달해야 하는가?

도와줘서 고마워!

Edit UsingvirtualPages파라세일즈 부품은 작동하지 않을 겁니다

그러나 이러한 속성을 파라세일 페이지에 추가하는 것이 의도된 사용인 것 같다.

  virtualPages: true,
  html5HistoryMode: 'history',
  virtualPageSlug: undefined,
  virtualPagesRegExp: /^\/test\/?([^\/]+)?/,

지금은 비록 더 이상 오류를 받지 않지만,<router-view></router-view>다음과 같은 경우 요소가 적절한 뷰로 채워지지 않음<router-link to="/test/foo/">Foo</router-link>페이지에서 클릭된다.

나는 다음 루트를 프로젝트에 추가했다.

  '/test/foo/' : {
    view: 'pages/test'
  },

라우터 보기가 제대로 업데이트되지 않는 이유에 대한 단서는?

나는 이 설명서가 매 단계마다 순수하게 추측되는 게임이기 때문에 심각한 업데이트가 필요하다고 생각한다.

맞아, 네가 제공한 링크가 가상 페이지 설정 방법에 대한 정보가 없는 것 같아.나는 파라세일만 사용하는 것에 대해 잘 모르지만 Force v1에서는 이렇게 가상 페이지를 설정한다.(나는 이것을 링크 가능한 모달로 주로 사용한다.)

페이지 스크립트에서 데이터를 정의하십시오.

virtualPages: true, html5HistoryMode: 'history', virtualPageSlug: undefined, virtualPagesRegExp: /^\/foo\/bar\/?([^\/]+)?/,

ejs 파일에서 이것을 포장 디브에 추가할 수 있다.

v-if="virtualPageSlug === 'new'"

경로 파일:

'GET /foo/bar/:virtualPageSlug?': { action: 'foo/view-bar' },

참조URL: https://stackoverflow.com/questions/52794637/parasails-js-and-using-vue-router-or-virtualpages

반응형