Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 从屈服块内访问构件属性_Ember.js - Fatal编程技术网

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}}