0

i est un élément de Braise je l'ai nommé fooEmber à composants multiples avec divers id

import Ember from 'ember'; 
var data, elTop; 
export default Ember.Component.extend({ 
    init(){ 
    this._super(...arguments); 
    }, 
    didInsertElement(){ 
    this._super(...arguments); 
    data = this.get('id'); 
    elTop = $('#'+data).offset().top; 
    console.log(elTop); 
    } 
}); 

BTW, j'utilise ce composant deux fois dans le modèle de parent et la position de chaque composant est diferent, mais pourquoi lorsque la console iam consigner le décalage supérieur la valeur est la même.

quelqu'un peut-il expliquer cela et l'a résolu? et j'évite d'utiliser ce console.log($('#'+data).offset().top) son travail, mais montre des pépins lorsque je l'utilise sur un événement de défilement.

:) Merci

Répondre

0

Vous devez introduire des propriétés elTopdata à l'intérieur du composant.
Vous pouvez accéder au dom composant à l'aide this.$

import Ember from 'ember'; 
export default Ember.Component.extend({ 
    data: '', 
    elTop: '', 
    didInsertElement() { 
     this._super(...arguments); 
     elTop = this.$().offset().top; 
     console.log(elTop); 
    } 
}); 
+1

grâce chéries :) – cahyowhy