gpt4 book ai didi

javascript - Ember.js 模板内模式将变量传递给传递的操作(上下文组件)

转载 作者:行者123 更新时间:2023-12-02 23:36:09 25 4
gpt4 key购买 nike

是否可以将变量传递到传递的操作中并完全在模板中执行此操作?

例如。父组件模板

{{child-component model=model itemClick=(action "doStuffWithItem")}}

子组件模板

{{#each model.items as |item|}}
{{item-component click=(action itemClick item)}}
{{/each}}

..这不起作用,但它显示了所需行为的想法。

我当前要做的是在 item-component 中执行一个操作,以触发使用变量传递的操作。

例如。父组件.js

  actions: {
doStuffWithItem(item) {
...do some things
}
}

父组件模板

{{child-component model=model itemClick=(action "doStuffWithItem")}}

子组件.js

  actions: {
click(item) {
this.itemClick(item);
}
}

子组件模板

{{#each model.items as |item|}}
{{item-component itemClick=itemClick}}
{{/each}}

我想问的是,有没有办法跳过在子 component.js 中创建包装器操作?有没有 Ember 助手可以做到这一点?例如。

{{#each model.items as |item|}}
{{item-component click=(pass-var-to-action itemClick item}}
{{/each}}

最佳答案

嗯,your first example works.所以是的,这是可能的。

你不喜欢的第二个例子没有意义。这段代码:

actions: {
click(item) {
this.itemClick(item);
}
}

没有做任何事情,因为您没有在子组件中使用click操作。

完全不清楚您的 item-component 的用途。一旦您通过了click,接下来就是itemClick。请注意:永远不要调用属性click。这是与 click 事件处理程序方法的名称冲突。请参阅here在*事件处理程序方法*下。这是一个有点奇怪的概念,但可能是您的问题。

关于javascript - Ember.js 模板内模式将变量传递给传递的操作(上下文组件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56283827/

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