33

今日は私にとって Knockout の初日です。心打たれた。以下は、knockout.js を使用した最初のサンプル コードで、エラーが表示されます。

null のプロパティ 'nodeType' を読み取れません

これが私のスクリプトです:`

   function ViewModel()  
   {  
     var self = this;  
     self.n1 = ko.observable(10);  
     self.n2 = ko.observable(10);  
     self.n3 = ko.observable(10);  
   }  
   ko.applyBindings(new ViewModel());  `

これが私のhtmlです:

<body>
<p>Number1:<input data-bind="value:n1"></input></p>
<p>Number2:<input data-bind="value:n2"></input></p>
<p>Number3:<input data-bind="value:n3"></input></p>
</body>

上記エラーの原因と対処法を知りたいです...

4

3 に答える 3

44

このようにコードを設定すると、機能します。

<body>
<p>Number1:<input data-bind="value:n1"></p>
<p>Number2:<input data-bind="value:n2"></p>
<p>Number3:<input data-bind="value:n3"></p>
<script src="knockout.js"></script>
<script>

function ViewModel() {  
   var self = this;  
   self.n1 = ko.observable(10);  
   self.n2 = ko.observable(10);  
   self.n3 = ko.observable(10);
}  

ko.applyBindings(new ViewModel());  `

</script>
</body>
于 2013-02-26T13:16:24.657 に答える
36

ページの上部に表示したい場合<script>は、jQuery の ready() 関数を使用して、ページが読み込まれるまで初期化を遅らせることができます。

$(document).ready(function() {
    ko.applyBindings(new ViewModel());
});
于 2013-07-05T13:15:48.190 に答える