ボタン1をクリックすると、50個の連絡先配列(phoneNumbers、Addresses ...の配列のコレクションを含む)を持つオブジェクトを取得し、ボタン2をクリックすると同じオブジェクトを取得しますが、表示したいのに最初のオブジェクトが消去されます50 + 50 = 100 個の連絡先配列。concat メソッドを試しましたが、実装するのにいくつかの困難があります。
viewModel.initializeListener = function() {
$('#button1').click(function() {
document.getElementById("button2").style.visibility = "hidden";
$('#retrievedContactsDiv').html('');
nbDisplayedContacts = 0;
console.info("test");
viewModel.ui.FlashbackReport.MoreContacts();
});
$('#button2').click(function() {
viewModel.ui.FlashbackReport.MoreContacts();
console.info("test");
});
}; `
viewModel.WeHaveMoreContacts = function(data) {
console.info("test:", data)
if (viewModel.MoreContacts) {
var newArray=ko.mapping.fromJS(data, viewModel.MoreContacts);
var concatenated = newArray.concat(dataArray);
viewModel.MoreContacts.contacts(concatenated);
} else {
viewModel.MoreContacts = ko.mapping.fromJS(data);
var dataArray = viewModel.MoreContacts.contacts();
}
サーバーでスキップする連絡先の数を指定したパラメーターがあります。
サーバーを呼び出してからマッピング関数を呼び出す関数:
viewModel.ui.FlashbackReport.MoreContacts()
問題 : オブジェクト # にはメソッド 'concat' がありません