我正在使用requireJS创建一个MVC3应用程序.在我的视图中,我需要将Model对象转换为knockout viewmodel对象.所以我需要使用knockout和knockout.mapping库.
我的应用程序是按以下方式设计的,
1).所有脚本文件都归类到文件夹中
2).在"_Layout.cshtml"中,我正在引用"require.js".
<script src="@Url.Content("~/Scripts/lib/require.js")" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
3).要配置require.js设置,我使用的是另一个名为"common.js"的脚本文件(Scripts/lib/common.js)
require.config(
{
baseUrl: "/Scripts/",
paths:{
jquery: "lib/jquery-2.0.3",
ko: "lib/knockout-2.3.0",
komapping: "lib/knockout.mapping"
}
});
Run Code Online (Sandbox Code Playgroud)
4).这是我的index.js文件,位于'Scripts/app/home /"中
define(['ko', 'komapping'], function (ko, komapping) {
var person = function () {
var self = this;
self.getPersonViewModel = function (data) {
return ko.mapping.fromJS(data); ;
};
};
return { Person: person };
Run Code Online (Sandbox Code Playgroud)
});
5).这是"Home"控制器中的"索引"操作方法
public ActionResult Index()
{
var person = new Person
{
Id = 1,
Name = "John",
Addresses …Run Code Online (Sandbox Code Playgroud)