從我的服務器我收到一個對象,它看起來是這樣的:使用挖空映射,我該如何映射整個數組屬性?
var fromServer = {
foo: "Some foo",
barArray: [ "bar1", "bar2", "bar3", "bar4", "bar5" ]
};
採用淘汰賽的映射插件,我想自定義視圖模型是如何構建和向上突破的數組長度的子陣列2.事情是這樣的:
viewModel: {
foo: "Some foo",
barArray: [ ["bar1", "bar2"], ["bar3", "bar4"], ["bar5"] ]
}
在有我的方式,我意識到了create
回調被調用每個陣列項目一次。這是我的觀點:
<h1 data-bind="text: foo"></h1>
<ul data-bind="foreach: barArray">
<li data-bind="text: $data.name"></li>
</ul>
和JavaScript:
var fromServer = { foo: "Some foo", barArray: [ "bar1", "bar2", "bar3", "bar4", "bar5" ] };
var mapping = {
'barArray': {
create: function(options) {
return new barModel("This is " + options.data);
}
}
};
var barModel = function(data) {
this.name = data;
};
var viewModel = ko.mapping.fromJS(fromServer, mapping);
ko.applyBindings(viewModel);
Here's a fiddle showing the behaviour
這裏是真正問題:使用create
回調,我可以訪問整個陣列,而不是每個元素,一次?或者,我是否以錯誤的方式處理了這個問題?
你爲什麼希望他們分成兩列? – 2013-02-22 14:56:31
@PaulManzotti這顯然不是真正的問題。我實際上得到了一個月中所有日子的數組,每天都附加一些數據,我需要將該數組分成7天的子數組,以便我可以使用模板呈現日曆,一次一個星期。 – 2013-02-22 15:07:11