페이지 링크를 클릭할 때, 페이지 콘텐츠가 로드되기 전에 JavaScript를 실행하려면?

안녕하세요 :wave:

기억하기로는 이전에 이런 요청이 있었던 적이 없어, 현재 Plugin-API에는 페이지 전환 전에 스크립트를 실행할 수 있는 방법이 없습니다.

그럼에도 불구하고, 애플리케이션 루트에서 willTransition() 액션을 활용할 수 있습니다.

테마/컴포넌트에서 다음과 같은 코드를 사용할 수 있습니다.

// 이것은 전환 후에 실행됩니다
api.onPageChange((url, title) => {
  console.log("after transition");
});

// 이것은 전환 직전에 실행됩니다
api.modifyClass("route:application", {
  pluginId: "some-name",
  actions: {
    willTransition() {
      // 먼저 코어 코드를 실행합니다
      this._super(...arguments);
      // 그 다음 작업을 수행합니다
      console.log("before transition");
      // _router와 같이 사용할 수 있는 데이터를 확인하기 위해 다음과 같은 것도 할 수 있습니다
      console.log(this)
    }
  }
});