Dart 当组件位于页面上时,“附加”将激发,但我无法执行dom进程,因为它未呈现?

Dart 当组件位于页面上时,“附加”将激发,但我无法执行dom进程,因为它未呈现?,dart,polymer-1.0,dart-polymer,Dart,Polymer 1.0,Dart Polymer,我有一个web组件,它利用了一些模板转发器。我注意到,即使项目附加到页面,它也不会呈现。由于未渲染,因此未处理模板转发器 在绘制组件时,是否会调用任何类型的on render或paint函数 我正在做一些与模板dom repeater内容相关的组件查询。它找不到类,因为它没有删除信息 我该如何进行“渲染”呢 现在我正在做一些类似的事情: @property List<Map> knownList = [{"name":"Bob"},{"name":"Jake"},{"name":"L

我有一个web组件,它利用了一些模板转发器。我注意到,即使项目附加到页面,它也不会呈现。由于未渲染,因此未处理模板转发器

在绘制组件时,是否会调用任何类型的on render或paint函数

我正在做一些与模板dom repeater内容相关的组件查询。它找不到类,因为它没有删除信息

我该如何进行“渲染”呢

现在我正在做一些类似的事情:

@property List<Map> knownList = [{"name":"Bob"},{"name":"Jake"},{"name":"Larry"}];

attached(){
  toBinaryString();
}

String toBinaryString(){
  String binaryString = "";
  document.getElementsByClassName("selected").forEach((HtmlElement ele){
    print("Fired");
    binaryString += "1";
  });
  print("Result diagnostics/ Length: ${binaryString.length} isValid: ${binaryString.length==(CONST_PER_DAY * 7)}");
  return binaryString;
}
@property List knownList=[{“name”:“Bob”},{“name”:“Jake”},{“name”:“Larry”}];
附({
toBinaryString();
}
字符串toBinaryString(){
字符串binaryString=“”;
document.getElementsByClassName(“selected”).forEach((HtmlElement-ele){
打印(“解雇”);
二进制字符串+=“1”;
});
打印(“结果诊断/长度:${binaryString.Length}有效:${binaryString.Length==(CONST_PER_DAY*7)}”);
返回二进制字符串;
}
我的Html很简单,如:

<dom-module id="my-test">
  <template>
    <template is="dom-repeater" items="{{knownList}}">
      <div class="selected">{{item.name}}</div>
    </template>
  </template>
</dom-module>

{{item.name}
当页面加载时,会触发attached,因为该项实际上已添加到页面中,但由于它未被呈现,我无法执行任何与dom相关的处理

我做错什么了吗?

当元素的本地DOM就绪时,调用ready回调

在元素的模板被戳记并且元素的本地DOM中的所有元素都已配置(使用父级绑定的值、反序列化的属性或其他默认值)并调用其ready方法后,将调用它


您是否尝试了
ready(){…}
而不是
attached(){…}
?我也看到了,我注意到它是在创建之后发射的,但在连接之前发射的。似乎在生命周期中,附加的时间较晚,所以我认为附加可能是最好的行动方式。我只是不确定附件和准备好的不同含义是什么,因为在做准备的时候,这些物品仍然不会被呈现出来。那么我再看一看这个。可能有一些你我都不知道的问题需要解决。不过我会再看一看,看看我能做些什么。如果我能让它工作,我会告诉你具体的代码,我是如何做到的,然后给你分数和答案。:)您应该在附件中使用async call找到您的答案,正如Gunter提供给您的链接中所述。