Ember.js 从屈服块内访问构件属性
我有一个组件Ember.js 从屈服块内访问构件属性,ember.js,Ember.js,我有一个组件ui按钮组,我想从yield块访问该组件的属性 ui按钮组组件具有一个open属性。ui按钮组件可以传递一个属性,以便在单击时进行切换。我希望该属性绑定到父ui按钮组组件的open属性 {{#ui-button-group }} {{#ui-button action="finalize"}} Finalize Invoice {{/ui-button}} {{#ui-button togglePropery=component.open}}
ui按钮组
,我想从yield块访问该组件的属性
ui按钮组
组件具有一个open
属性。ui按钮
组件可以传递一个属性,以便在单击时进行切换。我希望该属性绑定到父ui按钮组
组件的open
属性
{{#ui-button-group }}
{{#ui-button action="finalize"}}
Finalize Invoice
{{/ui-button}}
{{#ui-button togglePropery=component.open}}
<span class="caret"></span>
{{/ui-button}}
{{#ui-dropdown }}
<li><a href="#">Delete</a></li>
{{/ui-dropdown}}
{{/ui-button-group}}
{{{#ui按钮组}
{{{#ui button action=“finalize”}
最终确定发票
{{/ui按钮}
{{{#ui按钮toggleProperty=component.open}
{{/ui按钮}
{{{#ui下拉列表}
{{/ui下拉列表}
{{/ui按钮组}
作为临时解决办法,我在控制器上设置了一个属性,并将其传递给ui按钮组
和“ui按钮”
有人知道从yield块中访问组件实例的方法吗?我通过修改组件中的_yield函数以包含组件上下文来实现它 下面是一个工作示例 更新 在当前版本1.6.0中,传入块中的视图属性引用组件
{{#ui-button-group }}
{{#ui-button action="finalize"}}
Finalize Invoice
{{/ui-button}}
{{#ui-button togglePropery=component.open}}
<span class="caret"></span>
{{/ui-button}}
{{#ui-dropdown }}
<li><a href="#">Delete</a></li>
{{/ui-dropdown}}
{{/ui-button-group}}
现在我已经在视图选项中添加了component:view
,我可以像这样访问组件
{{#ui-button-group }}
{{#ui-button action="finalize"}}
Finalize Invoice
{{/ui-button}}
{{#ui-button togglePropery=_view.component.open}}
<span class="caret"></span>
{{/ui-button}}
{{#ui-dropdown }}
<li><a href="#">Delete</a></li>
{{/ui-dropdown}}
{{/ui-button-group}}
{{{#ui按钮组}
{{{#ui button action=“finalize”}
最终确定发票
{{/ui按钮}
{{{#ui按钮toggleProperty={u view.component.open}
{{/ui按钮}
{{{#ui下拉列表}
{{/ui下拉列表}
{{/ui按钮组}
我建议在生成的产量视图中添加一个
组件
关键字。“{{{ui-button-togglePropery=component.open}}”输入错误?不是输入错误,而是所需行为的表达式。我希望访问父组件的属性“open”。仅供参考,收益率并不意味着是一个公共api。您的解决方案在ember开发方面非常粗糙,可能会在将来的更新中被破坏。james fyi在最新版本中,view属性引用了该组件。所以我的黑客不再需要了。检查一下,很好,在变更日志中没有看到。
{{#ui-button-group }}
{{#ui-button action="finalize"}}
Finalize Invoice
{{/ui-button}}
{{#ui-button togglePropery=_view.component.open}}
<span class="caret"></span>
{{/ui-button}}
{{#ui-dropdown }}
<li><a href="#">Delete</a></li>
{{/ui-dropdown}}
{{/ui-button-group}}