2016-07-31 4 views
0

Ich versuche, Knockout in eine MVC-Rasiereransicht einzubeziehen, aber es funktioniert nicht. Ich habe auch versucht, eine Beispiellösung herunterzuladen, die Knockout hat, aber es hat nicht funktioniert. Mit Blick auf die Knockout-Website sieht es so aus, dass es sehr einfach sein sollte, Knockout einzubeziehen. Ich kann nicht viele Dinge im Internet über dieses Thema finden, und ich schätze, es ist, weil die Einrichtung von Knock-out einfach sein sollte.Knockout funktioniert nicht in der Rasiermesseransicht

1) Ich habe Knockout mit Nugget-Paket-Manager im Visual Studio installiert.

2) Ich habe die Skript-Referenz hinzugefügt, um knockout in der Ansicht zu enthalten: <script type='text/javascript' src='~/Scripts/knockout-3.4.0.js'></script> Die Knockout-Bibliothek befindet sich definitiv im Ordner scripts.

3) Ich kopierte und klebte das Hallo Welt Beispiel von der Knockout-Website: http://knockoutjs.com/examples/helloWorld.html einschließlich der Knockout Viewmodel in der Skripte Abschnitt aus meiner Sicht.

4) ko.Observable, Datenbindung etc sind alle in der Ansicht von Intellisense erkannt.

aber das Knockout funktioniert nicht, wenn ich die Textfelder eintippe, zB zeigt das berechnete die ersten und letzten Namensstrings nicht zusammen an.

Was muss ich noch tun, um Knockout einzurichten?

Antwort

1

Sie müssen das Skript viewModel vor dem schließenden Tag einfügen. Vor dem Aufruf der Funktion applyBindings muss der Inhalt des Textes geladen werden.

Oder Sie können das Skript in der Kopfzeile und ändern Sie es für das document.ready-Ereignis zu überwachen und applyBindings aufrufen, wenn der Inhalt geladen wird.

$(document).ready(function() { 
 
    ko.applyBindings(new ViewModel("Planet", "Earth")); 
 
});

+0

Vielen Dank für Ihre Antwort. Das Dokument hatte vor der Anwendung von Bindungen geladen. Der Knockout wurde nicht auf der Seite aktualisiert, weil im Skriptblock ein} fehlte}. – Theomax

Verwandte Themen