【问题标题】:ember multiple component with various idember 具有各种 id 的多个组件
【发布时间】:2017-03-22 09:42:31
【问题描述】:

我在 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) 它的工作,但是当我使用滚动事件时会显示故障。

谢谢你:)

【问题讨论】:

    标签: javascript ember.js ember-router ember-components ember-controllers


    【解决方案1】:

    你需要在组件内部引入属性elTopdata。
    您可以使用this.$ 访问组件dom

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

    【讨论】:

      猜你喜欢
      • 2021-10-08
      • 2015-05-31
      • 1970-01-01
      • 1970-01-01
      • 2012-07-31
      • 2013-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多