簡體   English   中英

如何從控制器獲取固定裝置中的記錄總數?

[英]How do I get the total number of records in a fixture from a controller?

我想從控制器中獲取固定裝置中的記錄總數。 這是我的燈具代碼:

固定裝置

App.Items.FIXTURES = [
 {
    id: 1
 },
 {
    id: 2
 },
 {
    id: 3,
 }
];

在這種情況下,固定裝置中總共有3條記錄。 如何在我的控制器中獲得總計?

如果您使用的是這樣的東西:

App.ItemsRoute = Ember.Route.extend({
  model: function() {
      return this.store.find('items');
  } 
});

store.find返回一個Ember.PromiseProxyMixin實例,因此您可以觀察isFulfilled屬性來了解何時加載數據:

App.ItemsController = Ember.ArrayController.extend({
    doSomethingWithTotal: function() {        
        var length = this.get('model.length');
        // do something with de length
    }.observes('model.isFulfilled')
});

像這個樣本http://jsfiddle.net/marciojunior/UeCWV/

您可以向ArrayController詢問屬性content ,它將返回一個數組,使您可以訪問length

這是更新的小提琴: http : //jsfiddle.net/bYSjD/

App.ItemsController = Ember.ArrayController.extend({
  doSomethingWithTotal: function() {
    return this.get('content.length')
  }.property('content')
});

這種工作方式是App.ItemsRoute model返回一個Promise來查找項目,完成后, ItemsRoute另一個方法稱為: setupController

Ember將自動為您處理setupController ,該控制器將使用返回的模型數據填充控制器。 將設置ItemsControllercontent屬性,為您的屬性doSomethingWithTotal一個真實值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM