【发布时间】:2014-04-16 17:56:31
【问题描述】:
在 myVM.js 我有如下代码
this.accountMessages = ko.observableArray();
this.accountMessages.map(data.result, models.AccountMessage);
data.result 具有类似的价值,
"result":[{"sku":"VINU","name":"22 inch Wide LCD Display L2208w","price":"224.5","qty":"1"},{"sku":"NADVB#WW","name":"Elite Model","price":"345.5","qty":"2"},{"sku":"NADVB#WWW","name":"Elite Model Laptop","price":"33.5","qty":"2"}]
在 myModel.js 中,
(function (models) {
function AccountMessage(data, self) {
data = data || {};
this.sku= ko.observable(data.sku);
this.name= ko.observable(data.name);
this.price= ko.observable(data.price);
this.qty = ko.observable(data.qty);
//some code goes here
models.AccountMessage = AccountMessage;
}(models = window.hpelite.models));
终于在myPage.gsp中
<tbody data-bind="foreach: accountMessages">
<tr>
<td class="ellipsis" data-bind ="text:sku"></td>
<td class="ellipsis" data-bind ="text:name"></td>
</tr>
</tbody>
伙计们,这段代码运行良好,所以我想知道上面提到的 .map(arg1,arg2) 是如何工作的。 我在谷歌搜索这种方法,但我没有得到任何东西。谁能详细解释一下这个方法是如何工作的
【问题讨论】:
-
考虑使用您在 Chrome 中的调试工具来单步调试并查看。
-
kncokout observableArray 不附带
map方法。如果上面列出的代码确实对您有用,则必须使用一些第三方插件。请检查您的依赖关系!或者为 JsFiddle 提供一个可以工作的 repro!
标签: javascript knockout.js knockout-2.0 knockout-mapping-plugin knockout-validation