如何处理动作“发送”;通过Ember组件包装视图或视图的控制器
How to handle action "sent" by Ember component in wrapping view or view's controller?
我正在学习Ember,遇到了一个问题,我似乎找不到解决方案:我得到了一个包含组件的视图,该组件处理按钮单击。我想把那个动作"发送"到包装视图,如果可能的话,在那里处理它。这是最好的方式。如果不可能,那么在视图的控制器中处理它也是可以的。
但是我似乎在任何地方都捕捉不到那个动作,甚至在当前路由或路由的控制器中也没有。我不知道动作被发送到哪里,我想我可以在当前上下文的控制器中处理它,但似乎情况并非如此。
这是一个小提琴,说明我的问题:http://emberjs.jsbin.com/juzif/1/edit
我得到了组件内部的动作,但是sendAction似乎没有做太多。
我做错了什么?
我还没有看到任何解决方案如何目标组件的视图,但控制器->路线等您只需要定义的行动需要被发送到组件(这是超级有帮助当你有组件在一个特定的控制器/路线范围和你想要处理不同的基于每个组件的交互,或者如果你想忽略它,这是目前你发生了什么)
{{foo-bar blah=view.foo dataUpdated='dataUpdated'}}
或者说是
{{foo-bar blah=view.foo internalAction='externalAction'}}
http://emberjs.jsbin.com/misiyaki/1/edit 对"我仍然没有看到任何如何从组件中定位视图的解决方案"的附加回答:
这里的神奇词是targetObject
:
{{foo-bar action='actionName' targetObject=view}}
这也适用于针对itemController的每个循环,像这样:
{{#echo posts itemController="post" as |p|}}
{{foo-bar action='actionName' targetObject=p }}
{{/each}}
摘自@jasonmit的回答:如何从Ember组件发送一个动作到包装它的View ?
相关文章:
- Ember视图未响应用户启动的事件
- 如何将Ember.js控制器连接到视图
- 升级到Ember 1.0计算属性在视图中不再有效
- Ember.js/HHandlebars:使用{{view}}助手渲染的视图不绑定属性
- Ember.js路由器,从视图获取路由器
- Ember eror试图注册一个id已在使用的视图
- Ember.js-隐藏嵌套资源中的父视图
- Ember.选择selectionBinding在加载视图时激发
- 从Ember视图获取模型属性
- 视图更改时,Ember.js更新模型
- 对象在Ember.js中保存时从视图中消失
- Ember.js中的嵌套视图
- Ember.js - CRUD 方案 - 指定从路由内的视图
- Ember.js - 一个视图多个布局(已登录/未登录)
- 内容在 Ember 视图中未正确显示
- Ember.js将视图插入应用程序控制器,但使用另一个控制器进行操作
- 在 Ember 中,视图/状态逻辑应该位于何处
- Ember.js自定义组件或视图
- Ember.js:从视图中确定当前路线
- 什么是视图.ember.js中的图像