我的文件夹viewModel中有以下内容:
var observableData = ko.observable();
function activate(routeData) {
var buildObservableData = function (data) {
observableData(ko.mapping.fromJS(data, mapping));
// do stuff here that I need server data for
}
return dataservice.getFolder(currentFolderId, buildObservableData);
}
使用getFolder:
var getFolder = function (id, buildData) {
var request = $.ajax({
async: true,
url: endpoint,
type: 'GET',
dataType: 'json',
xhrFields: {
withCredentials: true
},
})
.done(function (data) {
buildData(data);
})
.fail(function (msg) {
toastr.error("Error: Could not load folder data.");
});
}
现在,在我的文件夹视图中,我有这个:
<!-- ko foreach: data().folders -->
<!-- /ko -->
因此,当我从一个文件夹导航到另一个文件夹时,我得到了这个:
"Unable to parse bindings.↵Message: TypeError: Cannot read property 'folders' of undefined;↵Bindings value: foreach: data().folders "
我做错了什么?
更新:
如果我将ajax调用更改为:
return $.ajax({
来自:
var request = $.ajax({
然后我可以浏览我的观点...但我不确定这是否正确。我会留下它,以防它帮助其他人或万一它是不对的。
答案 0 :(得分:1)
如果我将ajax调用更改为:
return $.ajax({
来自:
var request = $.ajax({
然后我可以浏览我的观点...但我不确定这是否正确。我会留下它,以防它帮助其他人或万一它是不对的。