【发布时间】:2012-08-13 11:12:50
【问题描述】:
我正在开始一个新项目,并且热衷于使用对我来说是新的 KnockoutJS + Web Api,我对 Web Api 有很好的了解,但是目前很难理解 Knockout。
这是我希望我的应用如何工作的最初想法:
- 我有一个标准的 MVC 控制器,例如
LeadsController -
LeadsController有一个名为ListLeads的Action,虽然它实际上并没有返回任何数据,但只是返回一个带有模板的视图以显示来自 Knockout 的数据。 -
ListLeads视图通过 ajax 调用我的 api 控制器LeadsApiController以获取要显示的潜在客户列表 - 然后将潜在客户数据映射到 KnockoutJs ViewModel(我不想将我的视图模型从服务器端复制到 JavaScript 视图模型中)
- 我想尽可能多地使用外部 JavaScript 文件,而不是让我的 HTML 页面充满 JavaScript。
我见过很多例子,但大多数都是在第一次加载页面时返回一些初始数据,而不是通过 ajax 调用。
所以我的问题是,当从 ajax 检索时,如何为 Knockout 创建我的 JavaScript viewModel,其中 ajax url 是使用Url.Content() 创建的。
另外,如果我需要在这个 ViewModel 上附加计算值,我将如何从服务器端扩展映射的视图模型。
如果我没有很好地解释自己,请让我知道您不确定的内容,我会尝试更新我的问题以更明确。
【问题讨论】:
标签: asp.net-mvc knockout.js asp.net-web-api knockout-mapping-plugin