1

スコーピングの問題を誤解していると思います。TODO バックボーン アプリを実行しており、「new app.AppView();」の後に実行しています。

私はこれを試しています: app.AppView.render()

拡張されていると思っていた他の機能も同様ですが、利用できないようです。

2 番目の質問は..Chrome 開発者ツールが TODORouter と Todos の横に「子」と表示されるのはなぜですか?

EDIT todo リンク TODO

これは私が主に参照しているコードです

$(function() {

    // Kick things off by creating the **App**.
    new app.AppView();

});
4

2 に答える 2

2

新しい appview を var に保存し、そこから使用します。

var myAppView = new app.AppView();
// ...
myAppView.render();
于 2013-01-17T14:42:29.007 に答える
1

スコーピングの問題はありませんが、一種の「JavaScript への対処」の問題があります。

at には、という名前app.AppViewのオブジェクトが格納されています。javascript では、関数はプロトタイプ継承と呼ばれるシステムで「クラス」として使用されます (Java クラスについて考えないでください!)。まだそれに巻き込まれないでください。FunctionAppView

電話すると

new app.AppView()

instanceオブジェクトであるこのAppView「クラス」の新しいものを作成します。だからあなたが電話するとき

app.AppView.render()

「クラス」(またはクラスですが、まったくクラスではない)の関数 render を呼び出そうとしています。今、それは少し正しくありません。

そのため (Java やその他の oo 言語と同様に)、コンストラクターを呼び出して取得したインスタンスを変数に格納する必要があります。

var appView = new app.AppView();

インスタンスができたので、それを使って好きなことをすることができます

appView.render();
于 2013-01-17T15:20:54.480 に答える