我使用Knockout.js。我有这样的功能:使用AJAX内部函数绑定可观察数组
function deviceGroupItem(item) {
this.DeviceGroupName = item.DeviceGroupName;
this.groupDevicesVisible = ko.observable(false)
this.groupDevicesArray = ko.observableArray();
this.deviceGroupClick = function() {
if (this.groupDevicesVisible() == false) {
this.groupDevicesVisible(true)
$.ajax({
url: returnServer() + '/api/Mobile/getRoomDevices?accessToken=' + localStorage.getItem('Token'),
type: "GET",
dataType: "json",
success: function (data) {
this.groupDevicesArray()($.map(data, function (item) {
return new roomDeviceItem(item);
}))
},
error: function() {
}
})
} else {
this.groupDevicesVisible(false)
}
}
return this;
}
问题是,当我'尝试绑定:
this.groupDevicesArray = ko.observableArray();
使用:
this.groupDevicesArray()($.map(data, function (item) {
return new roomDeviceItem(item);
}))
我'接收错误“this.groupDevicesArray是不是功能“。老实说,我不知道如何以正确的方式做到这一点。你知道我该怎么做到这一点?
试试这个: this.groupDevicesArray(ko.utils.arrayMap(data,function(item){ return new roomDeviceItem(item); });或this.groupDevicesArray($。map(data,function(item){ return new roomDeviceItem(item); })) –
谢谢你的回答,但依然如此。 – Shagohad