2 Stimmen

Name des aktuellen Wertes in Knockout

Ich fange gerade mit Knockout an. Ich kann nicht herausfinden, wie man die Bindung in der valuesTemplate einrichten. Was ist der Name des aktuellen Wertes des Iterators?

<div id="knock">
    <p>Name: <input data-bind="value: Name" /></p>
    <table>
        <thead><tr><td>Value</td></tr></thead>
          <tbody data-bind="template: {name: 'valuesTemplate', foreach: Values}" />
    </table>

    <script type="text/html" id="valuesTemplate"> 
        <tr><td><input data-bind="value: value" /></td></tr> 
    </script>
</div>

<script type="text/javascript">
    var data = {"Name":"Fish","Values":["Cod","Salmon","Perch","Glish"],"Id":"lookups/1"};
    var viewModel = ko.mapping.fromJS(data);
    ko.applyBindings(viewModel);
</script>

5voto

RP Niemeyer Punkte 114164

Innerhalb einer jQuery-Vorlage können Sie auf den aktuellen Kontext zugreifen, indem Sie $data o $item.data , so wie:

<script type="text/html" id="valuesTemplate"> 
     <tr><td><input data-bind="value: $data" /></td></tr> 
</script>

Wenn Sie jedoch Observables verwenden, werden Sie wollen, dass Ihr Werte-Array Objekte und nicht nur Strings enthält.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X