我正在Ember v3.13中编写一些Octane风格的组件,以及{{did-insert}}
ember-render-modifier。但是,当绑定到的函数did-insert
被调用时,我得到了TypeError: this is undefined
。我究竟做错了什么?
这是我的组件模板:
<div class="cardhost-monaco-container" {{did-insert this.renderEditor}}></div>
这是组件的JavaScript类:
import Component from '@glimmer/component';
export default class CodeEditor extends Component {
renderEditor(el) {
console.log(this.args.code)
}
}
模板中用作动作的方法需要修饰@action
以具有正确的this
-context:
import Component from '@glimmer/component';
import { action } from '@ember/object';
export default class CodeEditor extends Component {
@action
renderEditor(el) {
console.log(this.args.code)
}
}
动作装饰器将组件上下文绑定到方法。的API文档中action
对此进行了详细说明。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句