2
經過幾輪研究,我發現有一下情況類似下面沒有明確的答案:如果原來的JS有很多功能,怎麼用它來啓動它們?
我稱之爲「AAA.js」一個js文件,並有簡單的代碼在側這樣的:
var AAA = {
listenForMenuLayer: function() {
console.log("menu initiated");
$('.nav-menu').on('click', function() { console.log("menu clicked")});
}
init: function(){
this.listenForMenuLayer();
}
};
而在鏢,我寫了這樣設置(使用「鏢:JS」):
js.context['AAA'].callMethod('init');
然後,當我運行它,一切都看起來不錯,在「菜單啓動」正確顯示,這意味着'李stenForMenuLayer'開始了,但是當點擊'.nav-menu'時,沒有任何事發生。 (我檢查了很多次,沒有拼寫錯誤或其他)
我的問題是:Dart可以接受這種外部JS事件的啓動嗎?或者我們應該重新寫這些JS事件,請告知,非常感謝。
更新: 我發現,如果我們寫的js代碼類似上面,jQuery的將不能正常啓動,這意味着所有的功能與「$」開頭將不起作用。
從我所知,這應該工作,你有沒有嘗試登錄的'$返回'(「NAV菜單。」)看看它是否存在?你有沒有嘗試使用package:js https://pub.dartlang.org/packages/js,他們推薦使用這個包來代替dart:js –
@HadrienLejard嗨,謝謝你的回覆,我會試試看。 – Charles
@Charles上次更新。這似乎與Dart無關。也許jquery尚未初始化或類似的東西。 –