2017-02-21 2 views
1

Ich versuche, einige Code aus dem knockout.js Tutorial mein visualstudio asp.net-Projekt zu konvertieren.grundlegende Knockout-Beispiel "Data-Bind" funktioniert nicht

Ich denke, ich habe alles gut eingerichtet, ich benutzte Bower, um die Knockout-Bibliothek Abhängigkeit hinzuzufügen.

Ich möchte nur einige Code arbeiten, um Knockout zu verwenden. Hier ist, was ich habe:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<title></title> 
</head> 
<body> 

     <p>First name: <strong data-bind="text: firstName"></strong></p> 
     <p>Last name: <strong data-bind="text: lastName"></strong></p> 
    <script src="lib/knockout/dist/knockout.js" type="text/javascript"> 
      function AppViewModel() { 
       this.firstName = "Devin"; 
       this.lastName = "Salemi"; 
      } 
      // Activates knockout.js 
      ko.applyBindings(new AppViewModel()); 
    </script> 
</body> 
</html> 

Wenn ich auf die Website gehen, alles, was ich sehe, ist Vorname:

Nachname:

So die tatsächlichen Werte erscheinen nicht, obwohl Ich setze sie in das JS. Es sollte lesen - Vornamen: Devin

Nachname: Salemi

in den IDE ziemlich sicher, dass alle Funktionen verknüpft werden, um ganz gut, zum Beispiel, wenn ich ko schreiben. die IDE gibt mir alle Optionen, also denke ich, dass ich die Bibliothek gut installiert habe ...

Antwort

1

Sie müssen Ihr benutzerdefiniertes Javascript in einem separaten <script>-Tag verpacken.

Immer wenn ein src="" auf Skript-Tag ist, ignoriert es nur den Inhalt von innen und lädt aus einer Src-Datei. Daher müssen Sie einen anderen Skript-Tag ohne das src Attribut für alle benutzerdefinierten Skripts:

<p>First name: <strong data-bind="text: firstName"></strong></p> 
 
<p>Last name: <strong data-bind="text: lastName"></strong></p> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js" type="text/javascript"> 
 
</script> 
 
<script> 
 
    function AppViewModel() { 
 
    this.firstName = "Devin"; 
 
    this.lastName = "Salemi"; 
 
    } 
 
    // Activates knockout.js 
 
    ko.applyBindings(new AppViewModel()); 
 
</script>

+0

Okay, danke, jetzt funktioniert es kein Problem. Ist es wichtig, ob wir das Skript vor oder nach dem HTML-Code setzen, der das Skript verwendet? Nicht sicher, welche Art von Prozess die Browser verwenden, um dieses Zeug zu kompilieren ... –

+0

wird gut erklärt [** hier **] (http://stackoverflow.com/questions/436411/where-should-i-put-script- Tags in HTML-Markup – Jag

Verwandte Themen