我试图使用document.querySelector(“body”),但我没有收到任何html元素。流星在DOM准备好之前加载脚本 - 脚本在meteor.startup函数中
为什么说,我的脚本调用是在meteor.startup里面?
我用铁路由器的路由我...
if(Meteor.isClient){
Meteor.startup(function(){
myScript()
})
}
我试图使用document.querySelector(“body”),但我没有收到任何html元素。流星在DOM准备好之前加载脚本 - 脚本在meteor.startup函数中
为什么说,我的脚本调用是在meteor.startup里面?
我用铁路由器的路由我...
if(Meteor.isClient){
Meteor.startup(function(){
myScript()
})
}
Meteor.startup只能DOMContentLoaded事件后触发。但IronRouter可能会在稍后再渲染内容。
尝试或者使用IronRouter的onAfterAction钩或模板的rendered callback
我落得这样做:
Template.masterLayout.rendered = function(){
myscript = myScriptJS()
}
这就要求myScriptJS()在我的iron router layout的.rendered方法。执行myScriptJS并将其分配给全局变量(myscript),因为myScriptJS是将对象返回给其名称空间的模块模式。
现在我可以随处使用此代码:
myscript.counter()