2017-06-26 11 views
0

ノックアウトテンプレートを使用してGoogleマップマーカー情報ウィンドウにclickイベントを入力して、wiki記事をモーダルに表示しようとしています。今、私のマーカは空白になっていますが、私はエラーを受けていません。私は間違って何をしているかについての任意のアイデアですか?GoogleマップにKnockout koテンプレートバインディングを使用するinfowindow

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あなたは直接GoogleのSetContentメソッド内でノックアウトのJSテンプレートを追加することはできませんhttps://github.com/CHBaker/Neighborhood-map

答えて

0

infowindow.setContent('<div id="info-window" data-bind="template:' + 
         '{ name: \'info-template\'}"></div>'); 

完全なコードスニペット、方法は特に文字列を必要としますか、レンダリングするhtmlノード。 docs

したがって、追加するコンテンツは、文字列またはhtmlノードとして追加されます。しかし、あなたのケースでは、あなたが渡しているノックアウトテンプレートは有効なDOMノードではなく、通常の文字列として扱われるため、文字列のようです。ここで重要なのは、htmlを最初にレンダリングし、その内容を情報ウィンドウとして設定することです。

この

infowindow.setContent(document.getElementById("info-template").innerHTML); 

であなたのinfowindow.setContent方法を更新し、それが役に立てば幸い!

+0

これは情報ウィンドウにHTMLを表示していますが、これはテンプレート内のデータバインドクリックイベントを防止していますか? – FussinHussin

+0

setContentメソッドの後にイベント 'ko.applyBindings(、<テンプレートノード>)をバインドできます。 –

+0

これは疑問な質問かもしれませんが、setContentメソッドの次の行にその設定をすることはできますか?私はすでに私が持っているko.applyBindingsメソッドを使って、私のjsファイルの最後にそれを設定すべきですか? – FussinHussin

関連する問題