@outletArgs 现已作为顶级参数可用

在 Discourse 的最新版本中,outlet 参数可以作为顶级参数访问到你的 connector 组件中。

在模板中,这意味着 @outletArgs.foo 可以被 @foo 替换。在 Glimmer Component JS 中,this.args.outletArgs.foo 可以被 this.args.foo 替换。

旧的 @outletArgs 参数仍然可用,我们也没有计划弃用它。因此,没有必要急于更新现有代码。未来我们可能会引入自定义的 eslint 规则来检测并自动现代化 @outletArgsthis.args.outletArgs 的用法。

插件 outlet inspector 已经更新,以现代方式显示参数:

我们将在不久的将来更新文档。

18 个赞

更稳定 :+1:t2:

3 个赞

抱歉我的无知,请问您在哪里访问这些参数(args)?是在 connector .gjs 文件中吗?还是在 renderInOutlet 中?

有两种方法可以将连接器组件渲染到插件插槽中。

一种是将组件放在 /connectors/{outlet-name}/my-connector.gjs(或 .js/.hbs 组合)中。另一种方法是在其他地方编写组件,然后调用 api.renderInOutlet(\"{outlet-name}\", MyConnectorComponent)

在这两种情况下,插槽参数都将传递给您的组件。