gpt4 book ai didi

knockout.js - 访问 Javascript Html 模板并使用 Knockout.js 绑定(bind)数据

转载 作者:行者123 更新时间:2023-12-04 05:13:30 27 4
gpt4 key购买 nike

如何访问在整个站点中重复使用的 javascript 模板,并在 javascript 中执行此操作并将对象绑定(bind)到它。我想以字符串形式访问模板,以便可以将其添加到 Google map 信息窗口下方的内容属性中。

我知道有这个功能ko.renderTemplate("myTemplate", accessor, {}, element, 'replaceNode');但是我怎样才能让我返回字符串以拍摄到信息窗口?

<script type="text/html" id="info-window-test">

<span data-bind="text: Name"></span>

</script>

var html = TODO: Get Template With Data

/***************** OLD WAY
var html = '<div class="info-window">';

html = html + '<div><b>' + location.City + ', ' + location.StateRegion + '</b></div><hr/>';

length = location.Events.length;

$.each(location.Events, function (index, item) {
html = html + '<div><a target="_blank" href="' + item.Link + '">' + item.Name + '</a></div>';
html = html + '<div><i>' + item.DateFormatted + '</i></div>';

if (index < length - 1) {
html = html + '<hr/>';
}
});

html = html + '</div>';
**************************/

var infoWindow = new google.maps.InfoWindow({
content: html
});

最佳答案

如果我正确理解了您的问题,应该是 “我可以使用 KnockoutJS 作为简单的模板引擎吗?” 简单的答案是不,你不能 .

但是您可以暂时使用 DOM 来实现您想要的。

检查这个 jsfiddle http://jsfiddle.net/angelyordanov/zQZT8/ .

<script type="text/html" id="info-window-test">  
<span data-bind="text: Name"></span>
</script>

var viewModel = { Name: 'John' };

var templatePlaceholder =
$('<div style="display: none" data-bind="template: { name: \'info-window-test\' }"></div>')
.appendTo('body');

ko.applyBindings(viewModel, templatePlaceholder[0]);

var resultHtml = templatePlaceholder.html();

ko.cleanNode(templatePlaceholder[0]);
templatePlaceholder.remove();

alert(resultHtml);

关于knockout.js - 访问 Javascript Html 模板并使用 Knockout.js 绑定(bind)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14597154/

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