Ember.js 从其他辅助对象调用把手块辅助对象

Ember.js 从其他辅助对象调用把手块辅助对象,ember.js,helper,handlebars.js,Ember.js,Helper,Handlebars.js,如何从ember中的另一个辅助对象调用把手块辅助对象 我对在绑定助手中转换以下内容感兴趣 {{#each link in sideMenuLinks}} <li class="navigation page"> {{#linkTo ROUTE_VARIABLE link.linkToRouteContext}} {{{link.iconTag}}}<i class="icon-right-open"

如何从ember中的另一个辅助对象调用把手块辅助对象

我对在绑定助手中转换以下内容感兴趣

    {{#each link in sideMenuLinks}}
        <li class="navigation page">
            {{#linkTo ROUTE_VARIABLE link.linkToRouteContext}}
                {{{link.iconTag}}}<i class="icon-right-open"></i>{{link.linkText}}</a>
            {{/linkTo}}
        </li>
    {{/each}}
{{{#sideMenuLinks中的每个链接}
  • {{{#linkTo ROUTE_VARIABLE link.linkToRouteContext} {{{link.iconTag}}{{link.linkText}} {{/linkTo}
  • {{/每个}}

    请注意,我必须在助手内调用{{#linkTo}}块,并使用属性link.linkToRoute中的值更改ROUTE_变量。

    余烬把手助手放置在
    余烬.handlebar.helpers
    中。您可以使用
    Ember.handlebar.helpers.{helperName}.call
    调用它们

    但是,上面看起来像是动态局部/视图样式辅助对象。我建议为它创建一个车把视图辅助对象。语法与此类似,但您可以将视图类传递给
    帮助程序

      Ember.Handlebars.helper('sideMenuLinks', App.SideMenuLinksView);
    
    相应的视图可以通过提供
    templateName

      App.SideMenuLinksView = Ember.View.extend({
        templateName: 'sideMenuLinksTemplate'
      });
    
    你的模板会是这样的

     <script type='text/x-handlebars' data-template-name='sideMenuLinksTemplate'>
       {{#each link in view.links}}
           <li class="navigation page">
               {{#linkFor parentView.routeVariable link.linkToRouteContext}}
                   {{{link.iconTag}}}<i class="icon-right-open"></i>{{link.linkText}}</a>
               {{/linkFor}}
           </li>
       {{/each}}    
     </script>
    
    最后,您可以像下面这样使用这个助手。在本例中,
    链接
    属性将绑定到控制器的
    内容

     <script type='text/x-handlebars' data-template-name='application'>
       {{sideMenuLinks links=content routeVariable='page'}}
     </script>
    
    
    {{sideMenuLinks links=content routeVariable='page'}
    

    这是一个可行的方法。

    显然,这已经不起作用了,尝试使用ember cli执行此操作,但没有成功您成功了吗?我遇到了同样的问题。
     <script type='text/x-handlebars' data-template-name='application'>
       {{sideMenuLinks links=content routeVariable='page'}}
     </script>