안녕하세요! 플러그인을 살펴본 지 오래되었습니다. 2.4.0 베타 버전으로 업그레이드한 후 업로드 시 오류가 발생합니다. composer-editor.js 클래스가 “this.afterRefresh() is not a function” 오류로 실패하고 있습니다. 제 생각에는 이는 Ember Component 클래스의 오래된 액션일 수도 있지만, 틀렸을 수도 있습니다. 이에 대한 정보를 찾지 못했습니다. 레거시 코드일 수 있는지, 아니면 제가 비추천(deprecated)된 코드를 사용하고 있는 것일까요? 감사합니다.
안전 모드에서 이 문제가 발생합니까?
저는 제 플러그인이 설치된 상태에서 사용하고 있기 때문에, 안전 모드에서 실행해도 문제를 찾는데 도움이 되지 않습니다. 이 특정 플러그인은 템플릿 파일에서 composer-editor 구성 요소를 사용하고 있습니다.
v2.3.6으로 체크아웃을 해서 afterRefresh를 검색해 보았습니다. composer-editor.js가 이를 다르게 사용하고 있는 것 같습니다. this.sendAction(‘afterRefresh’, $preview); 대신 this.afterRefresh($preview);를 사용하고 있습니다. 적어도 이것이 문제인 것 같습니다.
게시글에서 플러그인에서 오는 것인지 코어에서 오는 것인지 판단하기 어려웠습니다.
코드에 접근할 수 없으니 크게 도움을 드리기 어렵습니다. 하지만 말씀하신 대로 sendAction은 더 이상 사용되지 않는(deprecated) 함수이며, 이제 액션은 단순한 클로저로 처리됩니다.
네, 그러면 이제 액션을 함수처럼 호출하는 것이 올바른 방법인가요? 그렇다면 제 코드를 다시 확인해 봐야겠네요. 혹시 버그인 줄 알았거든요.
네, 함수로 호출하는 것이 예상된 사용 방식입니다.
템플릿 파일에서 composer-editor 태그의 파라미터로 afterRefresh를 정의하지 않았습니다. 아마도 필수적인 것 같습니다.