Кажется я совсем заизвращался.. но в таком виде оно работает. В компонент передается массив, соостветственно событие didInsertElement вызывается один раз, когда компонент создается, а дальше, необходимо отлавливать события изменения массива, и после загрузки изменений рефрешить табы......
<script type="text/x-handlebars" id="components/editor-tabs">
<ul>
{{#each tab in array}}
<li><a {{bind-attr href=tab.route}}>{{tab.name}}</a></li>
{{/each}}
</ul>
{{#each tab in array}}
<div {{bind-attr id=tab.tabTitle}} {{bind-attr path=tab.id}}>
{{tab.text}}
</div>
{{/each}}
</script>
App.EditorTabsComponent = Ember.Component.extend({
didInsertElement: function() {
App.Tabs = this.$().tabs();
this.array.addArrayObserver(this.array, {
willChange: function(cows, offset, removeCount, addCount){
},
didChange:function(cows, offset, removeCount, addCount){
Ember.run.scheduleOnce('afterRender', this, function(){
App.Tabs.tabs('refresh');
});
console.log('didChange', cows.length, offset, removeCount, addCount);
}
});
},
})