Aşağıdaki ajax çağrısından alınan dizilimin bu eşleşme eşlemesini eşleştiriyorum.Sınır foreach döngü devre dışı bırakılması
function InvoiceViewModel(data) {
var self = this;
self.survey = data;
}
Ajax Çağrı
$.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');
}
});
Benim Dizisi
var test = {
Name: Blah,
Attributes: [
{Name: Test, Type: Photo, Year:1988},
{Name: Test, Type: Photo, Year:1988},
{Name: Test, Type: Photo, Year:1988}
]
};
ı bağlayıcı am nasıl veri
<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>
Özniteliklerimi foreach döngüsünü yalnızca 3 özniteliğin 2'sini göstermek üzere sınırlandırmanın bir yoluna ihtiyacım var. Bunu nasıl yapacağım konusunda sadece birkaç şey buldum ve çok karmaşık görünüyorlar. Bunu nakavt yapmak için basit bir yol olmadığını hayal edemiyorum.
yazınıza hiçbir döngü yoktur. Görüşüne nasıl bağlanıyorsun? – Romoku
[Knockout.js - Dinamik sütunlar ancak her satır için maksimum 5 ile sınırlandırıldınız] (http://stackoverflow.com/q/7669946/580951) – Romoku
@Romoku bu soruda öğrenilecek çok şey var, ancak kesinlikle uygulanabilir kod. Iyi bağlantı! –