有没有办法从组件JS文件中访问组件初始化的内部内容。我基本上希望能够获得收益。
例如,假设我有一个使用此模板的hbs:
{{#my-component}}
<span>bla bla {{foo}}</span>
{{/my-component}}
然后我希望在我的组件中访问上面的跨度,如下面的示例所示,在theInnerHtml中,我想获得初始化组件中的内容。
import Ember from 'ember';
export default Ember.Component.extend({
didInsertElement() {
let theInnerHtml = this.get('innerHTML'); // "<span>bla bla {{foo}}</span>"
}
});
答案 0 :(得分:3)
你可以使用已经内置到Ember中的jQuery来获取你正在寻找的元素的jQuery对象,
Document doc = Jsoup.parse(new File("filename"));
Elements superUserInfos = doc.getElementsByClass("superviewer");
for(Element superUserInfo:superUserInfos){
String info=superUserInfo.text();
Elements siblings = superUserInfo.siblingElements();
List<Element> elementsBetween = new ArrayList<Element>();
for (Element sibling:siblings) {
if ((! "div".equals(sibling.tagName())))
elementsBetween.add(sibling);
break;
}
if (! elementsBetween.isEmpty()){
processElementsBetween(elementsBetween);
elementsBetween.clear();
}
}
或者你可以使用Ember Component的元素属性: http://emberjs.com/api/classes/Ember.Component.html#property_element
import Ember from 'ember';
export default Ember.Component.extend({
didInsertElement() {
let theInnerHtml = this.$('span').html();
}
});
答案 1 :(得分:0)
一种方法是制作一种kendo-component
组件,其唯一目的是初始化kendo组件。
模板有一个简单的{{yield}}
,允许我们通过this.$().html();
获取产生的内容,实际上是将传递给kendo ui组件的模板。