1
テンプレートのonRendered
機能内にjquery
を使用してスクリプトを挿入したいと思います。onrenderedテンプレート内の流星呼び出しjquery
この問題はjquery
(およびGMAP)はページの更新にロードされないということであるコード
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());
});
}
});
}
});
});
です。テンプレートを変更して(別のルートを読み込んで)このAdmin_users
テンプレートに戻ると、jquery
とgmapが読み込まれます。ページの読み込みにjquery
をロードするにはどうすればよいですか?
私はこの問題について、ここでSOでの質問をたくさん見てきたが、それらのどれも私のために働くように思わない(solution onetwothreefour)
はい。それはうまくいった。 500 ms待つことなく、Meteor.setTimeout(()=> {doYourThing()}、0); –
'Meteor.defer'の解決策がうまくいかなかったという不思議な点は、bcはsetTimeoutの便利な機能であり、遅延は0です。とにかく、私は助けることができてうれしい。 – tomsp