gpt4 book ai didi

ember.js - sendAction 和 send 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 11:28:51 26 4
gpt4 key购买 nike

我定义了两个自定义对象,其中第一个扩展 Ember.TextField,第二个扩展 Ember.Select。当在 Ember.TextField 中触发适当的操作时,我会进行一些处理,如果满足要求,则使用 @sendAction("actionName") 将操作传播到底层 Controller 。 .

但是,当我尝试使用 Ember.Select 执行相同操作时,出现以下错误:

Uncaught TypeError: Object [object Object] has no method 'sendAction' 

并且必须使用 @get("controller").send("actionName")反而。我的导师认为这种不一致导致了意大利面条式代码,我同意他的观点。为什么我打不通 @sendAction来自 Ember.Select,这是我在 Ember 中理解的首选方式?

两者的主要区别是什么?

最佳答案

sendAction应该在组件内部使用。如果在连接组件时定义了该操作,则它允许您违反组件的限制。这有助于保持组件保证的隔离,但如果您想收听它,仍然允许组件发送消息。 https://guides.emberjs.com/v2.4.0/components/triggering-changes-with-actions/

{{my-component someInternalAction=someExternalAction}}
send应该在其他地方使用。
Ember.SelectEmber.TextField都是组件,因此您需要使用 sendAction

关于ember.js - sendAction 和 send 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21374647/

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