Ich habe folgendes Coffee Javascript für KnockoutjsCoffeescript, Knockout & beobachtbaren
class NewsItem
content: ko.observable("")
title: ko.observable("")
constructor: (data,dispForm) ->
@content data.get_item("content")
@title data.get_item("title")
@id = data.get_id()
class NewsItemViewModel
collection: ko.observableArray()
loadAll: =>
listEnumerator = items.getEnumerator()
while listEnumerator.moveNext()
currentItem = listEnumerator.get_current()
@collection.push new NewsItem currentItem, @list.get_defaultDisplayFormUrl()
return
$ ->
viewModel = new NewsItemViewModel
ko.applyBindings viewModel
return
To HTML ich diesen Code
<ul id="results" data-bind="template: {name: 'item_template', foreach: collection}">
</ul>
<script id="item_template" type="text/x-jquery-tmpl">
<li>
<h3><a href="/" data-bind="text: title"></a></h3>
<p>
<textarea data-bind="value: content"></textarea>
<input type="button" value="save" data-bind="enable: content().length > 0">
</p>
</li>
</script>
jedoch verwenden machen zu erzeugen, in der HTML alle Elemente zeigen die Werte von Das letzte NewsItem wurde der Sammlung hinzugefügt.
Irgendwelche Hinweise?
Ich denke, das immer ist, wie es getan werden soll. – Tyrsius
@Tyrsius Das hängt davon ab - wenn Sie ein eigenes Klassenmitglied für jede spezifische Instanz haben möchten (ich muss zustimmen, Sie werden das die meiste Zeit wollen), dann ja. Sie müssen nur den Unterschied kennen. – Niko
Ich nehme an, dass Sie eine statische Eigenschaft wünschen, aber dies sollte die Ausnahme sein, nicht die Regel. – Tyrsius