Visual studio 2012 如何在HotTower中使用敲除映射插件
我可以在VisualStudio中安装,但当我尝试在视图中映射一些Json数据时,它不起作用。谁能告诉我我做错了什么 这是我的视图模型Visual studio 2012 如何在HotTower中使用敲除映射插件,visual-studio-2012,knockout.js,knockout-mapping-plugin,hottowel,Visual Studio 2012,Knockout.js,Knockout Mapping Plugin,Hottowel,我可以在VisualStudio中安装,但当我尝试在视图中映射一些Json数据时,它不起作用。谁能告诉我我做错了什么 这是我的视图模型 define(['plugins/router', 'knockout', 'services/logger', 'durandal/app', 'mapping'], function (router, ko, logger, app, mapping) { //#region Internal Methods function activa
define(['plugins/router', 'knockout', 'services/logger', 'durandal/app', 'mapping'], function (router, ko, logger, app, mapping) {
//#region Internal Methods
function activate() {
logger.log('Google Books View Activated', null, 'books', true);
return true;
}
//#endregion
//==jquery=================================================
function attached() {
}//-->end of viewAttached()
//========VIEWMODEL========================================
var ViewModel = function (data) {
activate = activate;
attached = attached;
title = 'google Books';
};
return new ViewModel();
});
这里是一个在中运行的示例,我认为您不需要返回新的视图模型。您只需要返回视图模型
define(['plugins/router', 'knockout', 'services/logger', 'durandal/app', 'mapping'],
function (router, ko, logger, app, mapping) {
var books = ko.observableArray();
function activate() {
getBooks().then(function(){
logger.log('Google Books View Activated', null, 'books', true);
return true;
});
}
function attached() {
}
function getBooks(){
$.getJSON(url, function (data) {
vm.books(ko.mapping.fromJS(data));
return true;
});
}
var vm = {
activate : activate,
attached : attached,
title : 'google Books',
books: books
};
return vm;
});
编辑要查找requirejs错误,请添加到main.js文件。它应该有助于跟踪requirejs模块加载错误
requirejs.onError = function (err) {
console.log(err.requireType);
if (err.requireType === 'timeout') {
console.log('modules: ' + err.requireModules);
}
throw err;
};
在这种情况下,您需要在viewmodel上公开图书集合,我已经编辑了答案以更好地回答这个问题。我还将考虑将数据检索删除到它自己的JavaScript文件中。