0

knockoutJsチュートリアルを読んでいて、これを機能させることができませんでした。最初のページでは、最初のアプローチが使用され、2番目のページでは、2番目のアプローチがモデルの作成に使用されました。しかし、2番目のアプローチは機能していませんでした。何が問題なのですか?

最初のアプローチ

var AppViewModel {
    this.firstName = 'Bob',
    this.lastName = 'Smith'
};

2番目のアプローチ

function AppViewModel() {
    this.firstName = 'Bob';
    this.lastName = 'Smith';
}

HTML部分は以下のとおりです。

<body>

  <span data-bind="text: firstName"></span>



  <script type="text/javascript">
      ko.applyBindings(AppViewModel);
  </script>
</body>

これは最初のアプローチでは機能しますが、2番目のアプローチはエラーをスローします。

キャッチされないエラー:バインディングを解析できません。メッセージ:ReferenceError:firstNameが定義されていません。バインディング値:テキスト:firstName

4

1 に答える 1

4

最初のアプローチでは、オブジェクトを定義しました。new2番目のアプローチでは、クラスのコンストラクターを定義したため、キーワードを使用してクラスのインスタンスを作成する必要があります。

<body>
  <span data-bind="text: firstName"></span>

  <script type="text/javascript">
      ko.applyBindings(new AppViewModel());
  </script>
</body>
于 2012-11-20T13:29:23.127 に答える