this.afterRefresh() 不是一个函数

你好!好久没查看我们的插件了。升级到 2.4.0 beta 后,我在上传时遇到了错误。composer-editor.js 类报错“this.afterRefresh() 不是函数”。在我看来,这似乎是 Ember Component 类中的一个旧操作,但我也可能弄错了。没找到相关信息。这是否属于遗留代码,还是我在使用已弃用的代码?谢谢

您在安全模式下也有这个问题吗?

由于已安装了插件,安全模式无法帮助我定位问题。该特定插件在模板文件中使用了 composer-editor 组件。

我查看了 v2.3.6 版本并搜索了 afterRefresh。看起来 composer-editor.js 中的使用方式不同:它使用的是 this.afterRefresh($preview); 而不是 this.sendAction(‘afterRefresh’, $preview); 这至少看起来是问题所在。

从您的帖子中尚不清楚您认为问题来自插件还是核心代码。

由于无法访问代码,很难提供太多帮助。但您说得对,sendAction 已被弃用,不应再使用,现在动作是简单的闭包。

好的,那么现在直接以函数形式调用操作是正确的做法吗?那我得检查一下我的代码了。我还以为是出现了 bug。

是的,将其作为函数调用应该是预期的用法。

我未在模板文件的 composer-editor 标签参数中定义 afterRefresh。我想这是必需的。