io non sono sicuro di quello che vuoi dire, ma posso rispondere:
E come posso identificare ogni elemento div id dal suo interno controllore?
Working Example sguardo al console.log per vedere l'elemento id, e quindi utilizzare Google Chrome o Firebug per ispezionare l'elemento costitutivo di vedere che l'id è lo stesso.
App.ItemOneComponent = Ember.Component.extend({
didInsertElement: function(){
console.log('element id: ' + this.elementId);
}
});
this
all'interno del componente è il componente, e elementId ottiene il id
del div (o tag differenti se si usa tagName
all'interno del componente).
Se si desidera selezionare il componente con JQuery, utilizzare: this.$()
all'interno del componente.
Ora qui è dove non so di cosa hai bisogno, quindi ho intenzione di lanciare alcuni suggerimenti. Se è necessario conoscere gli ID di ogni componente dal controller, si consiglia di passare un array seduto sul controller al componente. Nel tuo didInsertElement
, aggiungi lo elementId
o l'oggetto jQuery
all'array. Here is what I mean
App.IndexController = Ember.ArrayController.extend({
componentIds: []
});
App.ItemOneComponent = Ember.Component.extend({
didInsertElement: function(){
this.get('array').pushObject(this.elementId);
}
});
E il componente passa la struttura in: {{item-one array=controller.componentIds}}
Si può anche inviare id del componente o jQuery
oggetto tramite un'azione con this.sendAction('actionName', componentId)
e hanno un'azione definita sul controller che prende un parametro (ad esempio la ComponentID o l'oggetto jQuery.