指定 Ember 组件的目标操作
specify target action to a ember component
我有一个组件正在包装由另一个模板定义的内容。我希望对模板执行操作以触发周围组件中的方法。这可能吗?
这是我的模板。请注意,为简洁起见,缩短了此内容。
{{#drop-down}}
<div class="menu-selector clickable" {{action "toggleDropdown"}}>
</div>
{{/drop-down}}
这是我的组件:
DropDownComponent = Ember.Component.extend
showDropdown: false
actions:
toggleDropdown: ->
@toggleProperty 'showDropdown'
`export default DropDownComponent`
我可以验证组件中的其他所有内容是否正常工作。如果我将操作放在加载此模板的组件中,它可以正常工作。但这不是我想要的地方。
因此,您希望将操作发送到特定组件。请注意
组件是一个自定义 HTML 标记,您可以使用 JavaScript 实现其行为,并使用 Handlebars 模板描述其外观。它们允许您创建可重用的控件,从而简化应用程序的模板。
和
Ember.Component 是完全隔离的视图。
您可能在这里使用了错误的工具。应改用自定义视图。
App.DropdownView = Ember.View.extend
showDropdown: false
elemendId: 'dropdown'
actions:
toggleDropdown: ->
@toggleProperty 'showDropdown'
return;
{{#view 'dropdown'}}
<div>
<div class="menu-selector clickable" {{action "toggleDropdown"}}>
</div>
{{/view}}
然后,您可以发送操作以供查看
Ember.View.views.dropdown.send('toggleDropdown');
演示:http://jsbin.com/zoqiluluco/1/
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何确定javascript已经完成了某些操作.ios上的
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 从JavaScript访问struts操作中的属性
- 如何使用ember.js在操作中传递当前上下文中目标旁边的信息
- 是否可以使用Jquery操作窗体的目标窗口
- 更改跳转到URL操作SSRS 2008 R2的链接目标属性(rc:LinkTarget)
- html表单操作跨域目标iframe
- 当表单以 html 为目标并在 IE11 中操作另一个 html 时,它最终会打开两个页面
- 在没有 JavaScript 的情况下更改表单操作目标
- om/react:操作呈现目标元素之外的元素
- 目标最后一个 LI Javascript 然后操作
- 脚本 600:此操作的目标元素无效.(仅限 IE)
- 指定 Ember 组件的目标操作
- 允许对目标事件执行默认操作,并阻止对父级执行默认操作
- IE 9出错-'SCRIPT600:此操作的目标元素无效
- SCRIPT 600错误:此操作的目标元素无效
- 目标c-如何通过WebView将alert()操作从javascript接收到Cocoa应用程序中
- 一个脚本中的两个帖子目标,表单操作标记为空