问题描述
我想问一下如何在 knockout.js 中使用列表 Exbando 对象,我正在使用 Rob Conrey 的 Massive,并且所有返回的结果都是动态的,这对我来说很好,它适合我的需要,但是在将结果发送到淘汰赛时,我只是不'不知道该怎么办。
目标
访问对象属性,如 obj.Name、obj.Brand 等...
示例代码
看法:
<div data-bind="foreach: Products">
<p>Product name: <strong data-bind="text: Name"></strong></p>
</div>
控制器:
public JsonResult GetProducts()
{
Products products = new Products();
var Model = products.GetAllProducts();
return Json(Model, JsonRequestBehavior.AllowGet);
}
调用 GetProducts 的结果是:
[[{"Key":"Id","Value":1},{"Key":"Name","Value":"Badass Boots"},{"Key":"Brand","Value": "Nike"},{"Key":"Description","Value":"能让你飞起来的超酷靴子(不是真的!)。"}, etc...]]
脚本文件:
function ProductListViewModel() {
// Data
var self = this;
self.Products = ko.observableArray([]);
$.getJSON("/Home/GetProducts", function (data) {
self.Products(data);
});
}
运行应用程序时出现 JavaScript 错误:
未捕获的 ReferenceError:无法解析绑定。绑定值:文本:名称消息:名称未定义
屏幕截图 1:
屏幕截图 2: