this.afterRefresh() が関数ではありません

こんにちは!プラグインを確認したのはだいぶ前です。2.4.0 ベータ版にアップグレード後、アップロード時にエラーが発生します。composer-editor.js クラスで「this.afterRefresh() is not a function」というエラーが出ます。これは Ember コンポーネントクラスの古いアクションではないかと思われますが、もしかしたら間違っているかもしれません。関連情報が見つかりません。これはレガシーなコードでしょうか、それとも非推奨のコードを使用しているのでしょうか?よろしくお願いします。

セーフモードでもこの問題が発生しますか?

独自プラグインをインストールした状態で実行しているため、セーフモードでは問題の特定ができません。この特定のプラグインは、テンプレートファイル内で composer-editor コンポーネントを使用しています。

v2.3.6 をチェックアウトして afterRefresh を検索しました。どうやら composer-editor.js では、this.afterRefresh($preview); という形で、this.sendAction(‘afterRefresh’, $preview); ではなく、異なる使い方をしているようです。少なくともこれが問題のようです。

投稿からは、プラグインからなのか、それともコアからなのかの意図が明確ではありませんでした。

コードにアクセスできないため、あまりお手伝いできませんが、おっしゃる通り sendAction は非推奨となり、それ以降は使用すべきではありません。アクションは現在、単純なクロージャです。

なるほど、つまりアクションを関数として呼び出すのが今の正しいやり方なんですね?じゃあ、自分のコードを見直さないといけないかもしれません。バグかなと思ったんですけど。

はい、関数として呼び出すことが想定される使い道です。

テンプレートファイルの composer-editor タグパラメータで afterRefresh を定義していませんでした。おそらく、これは必須です。