Ember.js 如何将控制器中的content.pagination.current_页面用作绑定值

Ember.js 如何将控制器中的content.pagination.current_页面用作绑定值,ember.js,pagination,handlebars.js,Ember.js,Pagination,Handlebars.js,我使用这个示例在一个Ember.js应用程序中实现服务器端分页。使用该示例,路由器将有关分页的元数据直接放置在结果内容数组上 在模板层,代码如下所示: <tfoot> <tr> <td> <ul class="pagination pagination-sm"> <li><a {{action 'firstPage'}}>&lt;&lt;</a

我使用这个示例在一个Ember.js应用程序中实现服务器端分页。使用该示例,路由器将有关分页的元数据直接放置在结果内容数组上

在模板层,代码如下所示:

  <tfoot>
    <tr>
      <td>
        <ul class="pagination pagination-sm">
          <li><a {{action 'firstPage'}}>&lt;&lt;</a></li>
          <li><a {{action 'previousPage'}}>&lt;</a></li>
          <li class="disabled"><a>{{ content.pagination.current_page }} of {{ content.pagination.total_pages }}</a></li>
          <li><a {{action 'nextPage'}}>&gt;</a></li>
          <li><a {{action 'lastPage'}}>&gt;&gt;</a></li>
        </ul>
      </td>
    </tr>
  </tfoot>
setupController: function (controller, model) {
  this._super(controller, model);
  var pagination = model.get('pagination');
  var page = pagination.current_page;
  var total_pages = pagination.total_pages;
  controller.set('isFirstPage', page === 1);
  controller.set('isLastPage', page >= total_pages);
},

如果助手不起作用,也许我只是做错了,我如何从控制器或路由中访问content.pagination.current_页面的值,以便创建正常绑定值?如果阻塞,使用正常手柄?

我将在控制器/组件或混入中声明各种属性,例如:

isFirstPage: Ember.computed.equal('page', 1);
isFirstPageLinkEnabled: Ember.computed.not('isFirstPage');

为了实现这一点,我在路径上使用了setupController函数,如下所示:

  <tfoot>
    <tr>
      <td>
        <ul class="pagination pagination-sm">
          <li><a {{action 'firstPage'}}>&lt;&lt;</a></li>
          <li><a {{action 'previousPage'}}>&lt;</a></li>
          <li class="disabled"><a>{{ content.pagination.current_page }} of {{ content.pagination.total_pages }}</a></li>
          <li><a {{action 'nextPage'}}>&gt;</a></li>
          <li><a {{action 'lastPage'}}>&gt;&gt;</a></li>
        </ul>
      </td>
    </tr>
  </tfoot>
setupController: function (controller, model) {
  this._super(controller, model);
  var pagination = model.get('pagination');
  var page = pagination.current_page;
  var total_pages = pagination.total_pages;
  controller.set('isFirstPage', page === 1);
  controller.set('isLastPage', page >= total_pages);
},

一旦设置好,我就可以像正常一样引用控制器属性

部分问题在于,使用gist中的示例代码时,分页元数据放在records对象上,我认为它不是控制器的属性。。。我的余烬术语失败了。这就是为什么会有奇怪的content.pagination.current_页面引用。代码就是一个例子。您应该在控制器中解析was需求,并保持模板简单。