1

我有一个谷歌地图和一个包含 jquery 淘汰赛绑定的自定义控件:

function ViewModel() {
    this.cities = ko.observableArray();
};
var viewModel = new ViewModel();

// ajax call which populates cities array

var googleMap = new google.maps.Map(document.getElementById("map"), mapOptions);

var controlHtml = $("<ul data-bind='foreach: cities'></ul>");
googleMap.controls[google.maps.ControlPosition.TOP_RIGHT].push(controlHtml[0]);

ko.applyBindings(viewModel);

该列表已添加到地图上,但淘汰赛绑定不起作用。如果我在body标签上添加相同的列表,则该列表是绑定的。

是否可以在谷歌地图自定义控件中使用 jquery 淘汰赛?

4

1 回答 1

0

添加超时可以解决问题:

var controlHtml = $("<ul data-bind='foreach: cities'><li data-bind='text: Name'></li></ul>");
googleMap.controls[google.maps.ControlPosition.TOP_RIGHT].push(controlHtml[0]);

setTimeout(function() {
    ko.applyBindings(viewModel);
}, 1000);
于 2013-04-09T09:12:37.953 回答