Mam ten nokaut mapowania mojej tablicy retreived z połączenia ajax poniżej.Limit pętli foreach pętli
function InvoiceViewModel(data) {
var self = this;
self.survey = data;
}
Ajax połączeń
$.ajax({
url: 'http://localhost:43043/api/damage',
type: 'GET',
headers: { 'Accept': 'application/json' },
data: {
orderNumber: num,
category: cat
},
success:
function (data) {
var usingRoutData = document.URL;
ko.applyBindings(new InvoiceViewModel(data));
},
error: function() {
alert('failure');
}
});
Mój Array
var test = {
Name: Blah,
Attributes: [
{Name: Test, Type: Photo, Year:1988},
{Name: Test, Type: Photo, Year:1988},
{Name: Test, Type: Photo, Year:1988}
]
};
Jak ja wiążące moich danych
<div id="invoiceBodyWrapper">
<div data-bind="template: { name: 'invoice-template', foreach: surveys }">
</div>
<div class="invoiceWrapper">
</div>
<div id="completePictureWrapper" data-bind="template: { name: 'photo-template', foreach: new Array(Attributes) }"></div>
</div>
</script>
<script type="text/html" id="photo-template">
<!-- ko if: classification === 'photo' -->
<div id="pictureWrappers">
<img class="img" data-bind="attr: { src: 'http://myimagepath/download/full/' + $index()+1 }" />
</div>
<!-- /ko -->
</script>
<script src="~/Scripts/DamageInvoiceCreation.js"></script>
Potrzebuję sposobu na ograniczenie moich atrybutów pętli foreach, aby pokazać tylko 2 z 3 atrybutów. Znalazłem tylko kilka rzeczy, jak to zrobić i wydają się bardzo skomplikowane. Nie mogę sobie wyobrazić, że nie ma prostego sposobu na zrobienie tego w nokaucie.
Nie ma pętli w swoim poście. W jaki sposób wiążesz swój pogląd? – Romoku
Czy widziałeś [Knockout.js - dynamiczne kolumny, ale limit do maksymalnie 5 dla każdego wiersza] (http://stackoverflow.com/q/7669946/580951) – Romoku
@Romoku dużo się nauczyć w tym pytaniu, ale jest zdecydowanie odpowiedni kod. Dobry link! –