加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

聚合查询选择器在DartVM上工作但在编译后不在Chrome中

发布时间:2020-12-14 04:53:31 所属栏目:百科 来源:网络整理
导读:有一个奇怪的问题.在我的Dart代码中,我在屏幕上有一些聚合物组件,其中一个有我从main()调用的方法. 我抓住它的参考 PolyComp poly = querySelector("#idOfPolymer");poly.flash(); 这在飞镖中完美无缺.页面加载并且PolyComp开始闪烁.但是当我通过从Dart IDE
有一个奇怪的问题.在我的Dart代码中,我在屏幕上有一些聚合物组件,其中一个有我从main()调用的方法.

我抓住它的参考

PolyComp poly = querySelector("#idOfPolymer");
poly.flash();

这在飞镖中完美无缺.页面加载并且PolyComp开始闪烁.但是当我通过从Dart IDE运行Build Polymer应用程序在Chrome中运行它时,我收到一条错误,指出无法在null上调用flash().

我最后只是使用一个事件总线让PolyComp听我的事件,但这有点过分了.

我究竟做错了什么?这种情况发生在最新的Chrome,Firefox和Safari中.

编辑:

我还为JS构建了以下聚合物应用程序并遇到了同样的问题.
https://github.com/sethladd/dart-polymer-dart-examples/blob/master/web/todo_element/todo.html

适用于DartVM,而不是Chrome,因为它在null元素上调用方法.

解决方法

当您从main()方法运行此代码时,它可能是一个计时问题.
你可以尝试类似的东西

import "package:polymer/polymer.dart";

main() {
  initPolymer().run(() {
    // code here works most of the time
    Polymer.onReady.then((e) {     
      // some things must wait until onReady callback is called
    });
  });
}

另见how to implement a main function in polymer apps

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读