admin管理员组

文章数量:1023848

I have an Ember.js ArrayController with a model of People. I'm trying to create a puted property that generates the average of people's weight. It seems like this should be fairly easy, but I'm stuck. Here's my code.

App.PeopleController = Ember.ArrayController.extend({

  //each model in the array has a "weight" property

  averageWeight: function() {
    //I don't know what to do here
  }.property('@each.weight')
});

Handlebars code.

{{#each controller}}
   {{name}}
{{/each}}

Average weight: {{weight}}

I have an Ember.js ArrayController with a model of People. I'm trying to create a puted property that generates the average of people's weight. It seems like this should be fairly easy, but I'm stuck. Here's my code.

App.PeopleController = Ember.ArrayController.extend({

  //each model in the array has a "weight" property

  averageWeight: function() {
    //I don't know what to do here
  }.property('@each.weight')
});

Handlebars code.

{{#each controller}}
   {{name}}
{{/each}}

Average weight: {{weight}}
Share Improve this question asked Jun 20, 2013 at 18:10 Jarrod NettlesJarrod Nettles 6,3036 gold badges29 silver badges47 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8

Figured it out. For some reason you need to use 'content.@each' to access the model data inside the puted property.

averageWeight: function(val) {
    var weights = this.get('[email protected]').toArray(); //this is the critical part!

    weights.forEach(function(val)) {
        //calc average here
    }

    return average;
}.property('@each.weight')

I have an Ember.js ArrayController with a model of People. I'm trying to create a puted property that generates the average of people's weight. It seems like this should be fairly easy, but I'm stuck. Here's my code.

App.PeopleController = Ember.ArrayController.extend({

  //each model in the array has a "weight" property

  averageWeight: function() {
    //I don't know what to do here
  }.property('@each.weight')
});

Handlebars code.

{{#each controller}}
   {{name}}
{{/each}}

Average weight: {{weight}}

I have an Ember.js ArrayController with a model of People. I'm trying to create a puted property that generates the average of people's weight. It seems like this should be fairly easy, but I'm stuck. Here's my code.

App.PeopleController = Ember.ArrayController.extend({

  //each model in the array has a "weight" property

  averageWeight: function() {
    //I don't know what to do here
  }.property('@each.weight')
});

Handlebars code.

{{#each controller}}
   {{name}}
{{/each}}

Average weight: {{weight}}
Share Improve this question asked Jun 20, 2013 at 18:10 Jarrod NettlesJarrod Nettles 6,3036 gold badges29 silver badges47 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8

Figured it out. For some reason you need to use 'content.@each' to access the model data inside the puted property.

averageWeight: function(val) {
    var weights = this.get('[email protected]').toArray(); //this is the critical part!

    weights.forEach(function(val)) {
        //calc average here
    }

    return average;
}.property('@each.weight')

本文标签: javascriptEmberjs computed property with ArrayControllerStack Overflow