gpt4 book ai didi

ember.js - 为什么在我的 Octane 组件方法中得到 'this is undefined'?

转载 作者:行者123 更新时间:2023-12-05 08:51:46 25 4
gpt4 key购买 nike

我正在 Ember v3.13 中编写一些 Octane 风格的组件,连同 {{did-insert}} ember-render-modifier .但是,当调用绑定(bind)到 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)
}
}

Action 装饰器将组件上下文绑定(bind)到方法。这在 API docs for action 中有更详细的描述。 .

关于ember.js - 为什么在我的 Octane 组件方法中得到 'this is undefined'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58741328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com