我在一个使用Marko.js和Lasso.js构建.js和.scss代码的项目中。我可以通过<script>标签成功地与Google Maps API交互。我希望将纬度和经度值发送到其他模板,我该如何做?
我尝试在文档中使用this指南,但它不起作用。我尝试在<script>标记中使用内联js引用index.marko中的全局变量。
我被迫使用内联js的原因与使用<script async defer src='https://maps.googleapis.com/maps/api/...&callback=initMap'/>的Lasso.js和Google Maps有关,它在另一个<script>标记中有一个对内联js函数initMap()的回调。每次我尝试将内联js代码移动到单独的.js文件时,都会像添加其他代码一样将它添加到browser.json文件中。它抛出一个错误,指出没有加载initMap函数。
好的,这是我的根目录
src
|_ pages
|_ home
|_ index.marko
|_ index.js
src
|_ components
|_ location-search
|_ index.marko这是location-search/index.marko:
div.search-container.location-search
div.input-field
p.input-label -- Search
input.controls#pac-input type="text" placeholder="Search Box"
div#map
<script>
functioninitMap() {
// Do Google Maps stuff and obtain an array of lat lng values.
}
</script>
<script async defer src="https://maps.googleapis.com/maps/api/...&callback=initMap"/>这是home/index.marko
lasso-page package-path="./browser.json"
<!DOCTYPE html>
html lang="en"
head
meta charset="UTF-8"
meta name="viewport" content="initial-scale=1.0"
meta http-equiv="X-UA-Compatible" content="ie=edge"
title -- App
lasso-head
body
location-search
browser-refresh
lasso-body我希望能够从另一个页面访问在components/location-search/index.marko.中获得的纬度和经度值的数组,Marko是一个很好的工具,它只需要更多的文档。提前谢谢。
发布于 2019-04-25 00:38:55
我被迫使用内联js的原因与使用https://maps.googleapis.com/maps/api/...&callback=initMap'/>的Lasso.js和Google Maps有关,它在另一个标记中有一个对内联js函数initMap()的回调。
我推荐使用这个包:https://www.npmjs.com/package/load-google-maps-api。它允许您加载google地图api并访问它,而无需创建全局处理程序。
import loadGoogleMapsApi from "load-google-maps-api";
class {
onMount() {
loadGoogleMapsApi.then((googleMaps) => {
this.map = new googleMaps.Map(this.getEl('map'), {
center: {
lat: 40.7484405,
lng: -73.9944191
},
zoom: 12
});
});
}
}
div.search-container.location-search
div.input-field
p.input-label -- Search
input.controls#pac-input type="text" placeholder="Search Box"
div key="map"我试着在文档中使用这个指南,但是它不起作用。我试图引用标签内带有内联js的index.marko中的全局变量。
就这一点而言,本文中讨论的全局变量并不是全局变量,就像window是全局变量一样。它们更像“渲染全局变量”,只在模板中可用,但在渲染时对所有全局变量都可用。
https://stackoverflow.com/questions/55821141
复制相似问题