当组件在页面上时附加了火,但我不能进行处理,因为它没有呈现?

时间:2016-12-15 15:37:41

标签: dart polymer-1.0 dart-polymer

我有一个利用一些模板转发器的Web组件。我注意到,即使项目附加到页面,它也不会被渲染。由于它没有渲染,模板转发器没有被处理。

在实际绘制组件时是否有任何类型的渲染或绘制函数?

我正在做一些与模板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;
}

我的Html很简单:

<dom-module id="my-test">
  <template>
    <template is="dom-repeater" items="{{knownList}}">
      <div class="selected">{{item.name}}</div>
    </template>
  </template>
</dom-module>
页面加载时会触发

和附加,因为这个项目实际上已添加到页面中,但由于它没有被渲染,我无法进行任何与dom相关的处理。

我做错了吗?

1 个答案:

答案 0 :(得分:0)

https://github.com/dart-lang/polymer-dart/wiki/registration-and-lifecycle#ready-callback-and-local-dom-initialization

  

当元素的本地DOM准备就绪时调用ready回调。

     

在元素的模板被标记之后调用它,并且已经配置了元素本地DOM中的所有元素(具有从父项绑定的值,反序列化的属性或默认值)并且具有它们的准备好的方法叫做。