gpt4 book ai didi

javascript - meteor 在 onrendered 模板中调用 jquery

转载 作者:太空宇宙 更新时间:2023-11-04 15:41:08 25 4
gpt4 key购买 nike

我想在模板的 onRendered 函数中包含使用 jquery 的脚本。

这是代码

Template.Admin_users.onRendered(function(){
var instance = this;
instance.autorun(function(){
if($){
console.log($);
console.log("jquery");
$("#Users.collection-item").click();
$.getScript(
"http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"
//'https://maps.googleapis.com/maps/api/js?libraries=places'
, function(){
console.log("loaded gmap");
var acs = $(".citycomplete").length;
for(var i = 0 ;i<acs;i++){
var autocomplete = new google.maps.places.Autocomplete($(".citycomplete")[i], {});
autocomplete.id = $(".citycomplete")[i].id;
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
$("input[name=lat]#"+autocomplete.id).val(place.geometry.location.lat());
$("input[name=lng]#"+autocomplete.id).val(place.geometry.location.lng());
});
}
});
}
});

});

问题是 jquery (和 gmap)不会在页面刷新时加载。如果我更改模板(加载另一个路由),然后返回到此 Admin_users 模板,jquery 和 gmap 将加载。如何在页面加载时加载jquery

我在这里看到了很多关于这个问题的问题,但似乎没有一个对我有用( solution one two three four )

最佳答案

如果没有会触发重新运行的 react 变量,则无需将该代码放入自动运行中。您也不希望它重新运行多次,对吗?如果是这样,请删除自动运行。您能做的就是稍等一下。

Template.Admin_users.onRendered(function(){
Meteor.setTimeout(()=>{doYourThing()}, 500);
});

这有帮助吗?

关于javascript - meteor 在 onrendered 模板中调用 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43863209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com