0

我在 ember 中有一个组件,我将其命名为 foo

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);
  }
});

顺便说一句,我在父模板中使用了这个组件两次,每个组件的位置不同,但是为什么当 iam 控制台记录偏移量时,它的值是相同的。

谁能解释一下并解决它?我避免使用console.log($('#'+data).offset().top)它的工作,但是当我使用滚动事件时会显示故障。

谢谢你 :)

4

1 回答 1

0

您需要elTop data在组件内部引入属性。
您可以使用访问组件 domthis.$

import Ember from 'ember';
export default Ember.Component.extend({
    data: '',
    elTop: '',
    didInsertElement() {
        this._super(...arguments);
        elTop = this.$().offset().top;
        console.log(elTop);
    }
});
于 2017-03-22T09:56:01.990 回答