我正在尝试使用 Discourse 主题,但我不是 Web/Javascript 开发人员。查看一些第三方主题组件,我有了这个疑问。
在 discourse-header-submenus/javascripts/discourse/connectors/above-site-header/header-submenus.js 中,有这段代码:
export default {
setupComponent() {
// 一些代码
},
};
文件顶部没有导入。
如果我理解(严格的)JavaScript,setupComponent() 中的代码只能访问它正在评估的对象属性。
当我在 setupComponent() 函数中使用 console.log(this) 查看此上下文时,我似乎无法访问非常有用的 api 对象。
太可惜了!
另外,我不知道如何正确地 import 它,因为用于使用 api 函数的官方包装器代码是版本化的,看起来像这样:
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer("0.12.3", api => {
// 使用 api 的代码
});
我该如何从 setComponent() 中访问 api 对象?或者我错过了什么基本的东西?