0
我有一個組件:得到,然後設置一個新的屬性就可以了
App.MyChildComponent = Ember.Component.extend({
addTooltips: Ember.on('didInsertElement', function() {
var me = this;
var metrics = this.get('option.metrics');
metrics.forEach(function(e, i) {
me.get('option.metrics').objectAt(i - 1).set('tooltipDisabled', true);
});
});
})
這是由不同成分的每個循環中產生的:
App.MyParentComponent = Ember.Component.extend({
...
})
而且MyParentComponent的模板是:
{{#each option in options}}
{{my-child option=option}}
{{/each}}
所有這一切,是通過視圖調用這樣的一個模板:
{{my-parent options=options}}
選項是與視圖的模型中定義:
App.MyViewModel = Ember.Object.extend({
options: Ember.A([
{ metrics: Ember.A([
{ name: 'a' },
{ name: 'b' },
{ name: 'c' }
]) },
{ metrics: Ember.A([
{ name: 'd' },
{ name: 'e' },
{ name: 'f' }
]) },
{ metrics: Ember.A([
{ name: 'g' },
{ name: 'h' },
{ name: 'i' }
]) }
]),
});
當我運行me.get('option.metrics').objectAt(i - 1).set('tooltipDisabled', true);
我得到:
Uncaught TypeError: me.get(...).objectAt(...).set is not a function
我在做什麼錯?