問題タブ [computed-observable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
77 参照

javascript - ノックアウトjsで親オブジェクトのプロパティをバインドする方法は?

knockout.js フレームワークを使用してアプリケーションを開発しています。私はそのようなビューモデルを1つ持っています:

アプリケーションを実行すると、次のような例外が 1 つ発生します。

0x800a01b6 - JavaScript ランタイム エラー: オブジェクトはプロパティまたはメソッド 'CountryCode' をサポートしていません

私の問題を解決するのを手伝ってもらえますか?

どうもありがとう、マルコ

0 投票する
1 に答える
256 参照

javascript - knockout.js を使用したプロトタイプの viewModel 計算関数

データバインディングに役立つノックアウト.jsライブラリを使用しています。そのため、変数がviewModelプロトタイプにある計算関数内で定義されていないというエラーが発生し続けます。これは、計算された関数が「this」のコンテキストをウィンドウに変更しているためであることはわかっていますが、ルート(viewModel)に戻す方法がわかりません。参照しているメソッドはJavaScript の「メッセージ」。そうは言っても、コンテキストをviewModelに戻すにはどうすればよいですか?

これが私のコードです:

HTML

ジャバスクリプト

コンテキストを、示されているように「viewModel」、$root、および「this」に変更して実験しました。

メソッドが何を達成しようとしているのか疑問に思っている場合は、NEW MESSAGE ボタンをクリックすると、メッセージが表示されます。をクリックする<td>と、前のメッセージの代わりに別のメッセージが表示されます。

0 投票する
2 に答える
5557 参照

javascript - ノックアウトの計算されたオブザーバブルの Angular2 バージョン

現在、Knockout から Angular2 に記述したコードの移植に取り組んでいます。ノックアウトで計算されたオブザーバブルの構成が本当に好きです。つまり、その関数の結果は、それが依存するオブザーバブルが変更されたときにのみ計算されます。

angularで関数を使用できることはわかっていますが、結果が変更されたときにのみビューを更新します(結果を何度も計算しますが)が、計算されたものはソートを行っているため、作業を実行したいだけです入力が実際に変化したとき。

angularjsでそれを行う方法を説明する以下のリンクを見つけましたが、それをangular2(typescript)に変換する方法がわかりません

http://www.jomendez.com/2015/02/06/knockoutjs-computed-equivalent-angularjs/ KO.Angular / Breeze イニシャライザーで計算された同等物

0 投票する
1 に答える
1670 参照

knockout.js - 計算の初期値を設定するか、最初の評価を抑制します

【無理そうです。この質問には後で自分で答えます]

この質問は、主に以前の質問の続きです。「非同期計算」アプローチを使用して、ページの一部を更新します。Michael Best のおかげで、UI の見えない部分の更新に関する問題を解決できました。しかし、まだ厄介なことが 1 つあります。初期 (デフォルト) 値を計算されたオブザーバブルに設定するにはどうすればよいですか? ページの読み込み中に複数の ajax 呼び出しを避けるようにしています。その代わりに、json をページに埋め込んですべてを一度にロードします。些細な(一般的な)ようですか?しかし、非同期計算の最初の評価を抑制することはできません。したがって、どのような場合でも ajax 呼び出しが行われます。このアプローチを使用できます:

しかし、前の質問と同じ問題に直面しています。これは、計算されたオブザーバブルを再評価するためにアプローチノックアウトを使用するevaluatorため、変更をサブスクライブすることはありません。の後の最初の評価をチェックするため、同様の質問からの提案が機能します。したがって、計算された は常に追跡され、. ajax呼び出しを行うことができるように、依存関係を気にするためだけに呼び出すことができないため、このアプローチは使用できません... var value = self.product() * self.quantity();productquantityevaluatorevaluator

計算済み (または純粋な計算済み) の最初の評価を抑制する方法はありますか? それとも初期値を設定する方法ですか? 助言がありますか?他の回避策はありますか?

0 投票する
2 に答える
191 参照

knockout.js - ノックアウトでリストのアイテムのプロパティに基づいて2つのリストを計算する方法は?

学習演習として、to do 項目を含む todo リストがあります。私の見解では、完了ごとにグループ化されたアイテムを表示したいと思います。以下は私のビューモデルです。達成したいことをどのように実行しますか、計算されたオブザーバブルをどのようにセットアップしますか?