有一個奇怪的問題。在我的Dart代碼中,屏幕上有一些聚合物組件,其中一個有我從main()調用的方法。聚合物querySelector在DartVM上工作,但在編譯後不在Chrome中
我做
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,因爲它在空元素上調用方法。
雖然這看起來奇怪:中[ –
可能重複爲什麼jQuery的或DOM方法,例如\'的getElementById \'找不到元素?](http://stackoverflow.com/questions/14028959/why-does-jquery-or-a-dom-method-such-as-getelementbyid-not-find-the-element) –
你應該嘗試在chrome中調試並檢查生成的代碼周圍,看看爲什麼你使用querySelector時得到null。你是否也確定(檢查過)使用chrome時該元素在那裏? – markovuksanovic