0

わかりました、私がまとめようとしている Knockout Web アプリで何が間違っているのか疑問に思っていました。

これは、私の MVC PHP インターフェイスで AJAX サービスを除外したコードです。

my.js = アプリに使用する名前空間宣言 data.js = データをビューにロードするために機能する静的データが含まれています (leftPanel.php) appViewModel.js = PHP サーバーからデータをロードする関数を呼び出し、ビュー モデル。

したがって、基本的に、ここに問題があります:

私は動作し、accounts_JSON.txt と currency_JSON.txt に表示されているデータを取得する AJAX サービスを持っています。JSON は適切にフォーマットされており、テキスト ファイルでは、読みやすいように改行のみを追加しています。

appViewModel.js では、「getCurrencies」および「getAccounts」メソッドが呼び出され、適切に機能します。JSON データを繰り返し処理し、指定された配列に配置します。

次に、appViewModel.js の最後で、各ステップで Chrome コンソールにログインします。そうではありません (screenshot_chrome_console.png)。

これらの配列は ko.applyBiddings の前に入力されるため、「my.app.data.currencies」と「my.app.data.accounts」を使用してビューに入力すると、機能するはずですが、機能しません。静的データ「my.app.leftPanel.currencies.list」および「my.app.leftPanel.accounts.list」のみが機能します。

私は何が欠けていますか?本当に見えない!

助けてくれてありがとう:)

4

1 に答える 1

0

さて、私は私の問題を解決しました:)この投稿に感謝します(Irakli Nadareishviliから)。

私の問題は間違いなく、AJAX 経由で取得したデータの読み込み方法でした。Underscore を使用して通貨と口座を最初にロードし、すべてがロードされたときにのみ、口座の完全なリストが必要なため、filteredAccounts がロードされます。

これは、誰かが同じ問題に興味を持っているか、つまずいた場合に備えて、最終的なクリーンアップされたコードです。

ハッピーコーディング!

于 2013-06-27T20:23:31.307 に答える