EmberJS:从组件js中访问组件html

val*_*nto 7 ember.js

有没有办法从组件JS文件中访问组件初始化的内部内容.我基本上想要获得收益.

例如,假设我有一个使用此模板的hbs:

{{#my-component}}
  <span>bla bla {{foo}}</span>
{{/my-component}}
Run Code Online (Sandbox Code Playgroud)

然后我想在我的组件中访问上面的跨度,如下面的示例所示,在theInnerHtml中,我想获得初始化组件中的内容.

import Ember from 'ember';

export default Ember.Component.extend({

  didInsertElement() {
    let theInnerHtml = this.get('innerHTML'); // "<span>bla bla {{foo}}</span>"
  }
});
Run Code Online (Sandbox Code Playgroud)

Con*_*ddy 3

您可以使用 Ember 中内置的 jQuery 来获取您要查找的元素的 jQuery 对象,

import Ember from 'ember';

export default Ember.Component.extend({

  didInsertElement() {
    let theInnerHtml = this.$('span').html();
  }
});
Run Code Online (Sandbox Code Playgroud)

或者您可以只使用 Ember 组件的 element 属性: http://emberjs.com/api/classes/Ember.Component.html#property_element

import Ember from 'ember';

export default Ember.Component.extend({

  didInsertElement() {
    let theInnerHtml = this.element;
  }
});
Run Code Online (Sandbox Code Playgroud)