-1
你好,我有以下代码:淘汰赛与结合导致“xxx是不是一个函数”
<ul data-bind="with : weather()" >
<li>Aktuelles Wetter (15:48)
<ul>
<li>
<span style="float:right;" data-bind="text : weather()" onclick="alert(weatherViewModel.weather().wind.speed);"> km/h </span>
我总是收到错误:Typerror:天气是不是一个函数。 问题是,当我离开data-bind="with : weather"
时,我没有遇到那个问题。 我虽然需要绑定,因为我必须访问如onclick
属性中所示的属性。 任何人都可以帮忙吗?
UPDATE:视图模型的
var weatherViewModel = {
weather : ko.observable(null),
forecast: ko.observable(null)
}
关键部分。可观察到的是使用剑术的UI经由Ajax的请求设定如下:
change: function(e) {
console.debug("weatherDataSource.change");
console.log("action: " + e.action);
if (e.action == "sync") {
console.log("Retrieve weather data...");
this.read();
} else {
var data = this.data();
console.log(data[0]);
weatherViewModel.weather(data[0]);
}
}
但此方法有效,因为我可以用的onclick事件存取权限的数据。我需要使用绑定的原因是因为ajax请求是在dom元素之后完成的,所以我无法访问weather()。wind.speed,因为weather()在开始时为null。
你可以发布你的viewmodel? – Damien
确定它已更新。谢谢。 – amaik