我正在尝试使用淘汰模板填充我的谷歌地图标记信息窗口,点击事件以模式显示维基文章。现在,我的标记空白,我没有收到任何错误。关于我做错了什么的想法?
html代码段
<script type="text/html" id="info-template">
<div data-bind="with: currentLocation">
<div id="m-title" data-bind="text: title"></div>
</div>
<button id="wiki-a" data-bind="click: toggleWiki">
Wikipedia Articles
</button>
<div id="pano"></div>
</script>
js snippet
infowindow.setContent('<div id="info-window" data-bind="template:' +
'{ name: \'info-template\'}"></div>');
的完整代码
答案 0 :(得分:0)
你不能直接在Google setContent方法中添加Knockout Js模板,该方法特别需要一个字符串或html节点来渲染。 请参阅docs
因此,您添加的内容将添加为字符串或html节点。但在你的情况下它似乎是字符串,因为你传递的淘汰模板不是有效的DOM节点,并将被视为常规字符串。这里的关键是首先渲染html,然后将其内容设置为infowindow。
使用此
更新您的infowindow.setContent
方法
infowindow.setContent(document.getElementById("info-template").innerHTML);
希望它有帮助!