Instead of passing in a separate array for values and errors , why not calculate the property in the controller that combines the two, and then pass this to the component?
So your controller might look something like this:
App.ApplicationController = Ember.Controller.extend({ values: function(){ return ["one", "two", "three"]; }.property(), errors: function(){ return ["oneError", "twoError", "threeError"]; }.property(), valuesAndErrors: function() { var combined = []; var values = this.get('values'); var errors = this.get('errors'); values.forEach(function(value, index){ combined.pushObject({ value: value, error: errors[index] }); }); return combined; }.property(' values.@each ', ' errors.@each ') });
And your component template (you donβt even need a JS component for this):
<script type="text/x-handlebars" id='components/value-error'> <h2>Inside of Component</h2> {{#each item in valuesAndErrors }} {{ input value=item.value }} - {{ input value=item.error }}<p/> {{/each}} </script>
Working example here
UPDATE

source share