問題タブ [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 に答える
839 参照

javascript - 計算された観測可能な動的変数

選択ボックスが値を変更したときに動的に入力する必要がある入力フィールドがあります。そこで、変数を入力にバインドし、別の値を選択ボックスの選択した値にバインドしました。ここで、入力値をプログラムで変更できるようにしたいです。選択ボックスの特定の値については、値を空の文字列にする必要があり、その他の場合は、ユーザーがアクションを実行するときにjavascriptコードを使用して設定する必要があります。計算された関数を使用するので、空の文字列を返すことができますが、これは問題につながります。他の選択ボックスオプションが選択されているときに、プログラムで値を設定するにはどうすればよいですか?

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

knockout.js - jqx グリッドとノックアウト計算列

計算された列を持つ単純な jqxGrid が必要です。すべて問題ないように見えますが、機能しません。簡単な例:

それは起こっています: x または y を更新でき、下の表に新しい値が表示されますが、Sum フィールドは最初の読み込み後に更新されません。

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

jquery - 計算されたKnockoutjsは、更新後に再計算されません

「Vol」のオブザーバブルを含む「Parts」のオブザーバブル配列を使用しています。現在、各パーツのボリュームと合計量が表示されています。アプリケーションが起動すると、合計金額が正しく追加されます。ただし、パーツのボリュームを変更しても、合計量は再計算されません。

HTML:

Javascript:

これが私のJsFiddleです:http://jsfiddle.net/jwinstonaspen/Zmkew/6/

0 投票する
3 に答える
3055 参照

knockout.js - ノックアウト.js - 計算されたアイテムはいつ依存関係を再計算しますか?

次の js があるとします。

そして、次のhtml:

オブジェクトを追加した後に objectCount() を呼び出すため、ドキュメントを読んで、その依存関係を再計算する必要があることを理解しています。代わりに、一度だけ実行して、関数を実行することさえないようです!

私の問題の簡略化されたバージョンを示す JSBin。

0 投票する
5 に答える
45986 参照

knockout.js - 計算されたプロパティ関数の実行を強制する

与えられた計算されたプロパティ

getCurrentValues() が、コード内の他の場所で変更されたさまざまなオブザーバブルのセットを返すことができるとします (また、observableArray よりも複雑な構造に由来します)。

checkedValueCountいつでも更新したい

  • その依存関係の 1 つが変更されます
  • getCurrentValues() は、異なるオブザーバブルのセットを返します。

問題はko.computed、最後に返された値をメモ化し、依存関係が更新されたときにのみ更新されるように見えることです。これは最初のケースを処理しますが、後者は処理しません。

私が探しているのは、checkedValueCount を強制的に再実行する方法です。私が次のように使用できるもの:

最も簡単に言えば、私が持っていることを考えると

強制的に 2 回呼び出しa()て異なる値を返すにはどうすればよいですか。

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

arrays - 観察可能な配列のスライスで計算されたノックアウトは、これが可能ですか

監視可能な配列のエントリを編集するためのメカニズムを提供しようとしています。ディスプレイには2つのセクションがあります。1つ目は、限られた数のフィールドを表示する配列エントリであり、2つ目は、ユーザーが選択したエントリのすべてのフィールドを編集できるようにするものです。

これを行うために、配列の表示されたエントリごとにダブルクリックイベントを提供しました。このイベントは、インデックスと計算されたオブザーバブルを使用して配列のスライスを選択します。このメソッドを使用して配列エントリを編集できることを願っています。

問題は、計算が機能していないように見え、私が望むことを実行するメソッドを見つけることができないことです。私はこの作品を作るための私の申し訳ない試みを説明するフィドルを作成しました

http://jsfiddle.net/rscidmore/YrsCj/

あなたの助けをいただければ幸いです。

私のコードは次のようになります。

そして私のhtmlは次のようになります:

0 投票する
4 に答える
8300 参照

checkbox - チェックボックスにバインドされたKnockout.jsの書き込み可能な計算されたブール値オブザーバブル - 信頼できないプロパティ設定

以前はビュー モデルの監視可能なプロパティに直接バインドされていたチェックボックスがあります。すべてのビュー モデルで汎用のダーティ フラグを使用して、ビュー モデルのすべての監視可能なプロパティの変更を監視します。

ここで、あるプロパティについて、基になるオブザーバブルの設定を解除する前にユーザーがチェックボックスをオフにしようとした場合に確認アラートを表示したいと考えています。私はこれを次のようにオブザーバブルをラップする書き込み可能な計算オブザーバブルとして実装しようとしました:

(Firefox と IE の両方で) 私が見ているのは、上記のように SelectedInternal オブザーバブル値を false にデフォルト設定すると、「選択された」書き込み関数は、チェックボックスをオフにしたときではなく、チェックボックスをオンにするたびにのみ起動することです。SelectedInternal オブザーバブル値を true にデフォルト設定すると、最初にチェックを外したときに書き込みセッターが実行されますが、その後のチェック解除では実行されません。

デモ用のフィドルを次に示します。

http://jsfiddle.net/xHqsZ/18/

ここで何が起きてるの?これを達成するためのより良い方法はありますか?

更新:元のクリックにフックを付けて false を返すことができないため、このアプローチはおそらくうまくいかないでしょう。ユーザーが確認ボックスでキャンセルを選択した場合、オブザーバブルを true にリセットしても効果。しかし、計算されたセッター自体が期待どおりに動作しない理由を知りたいです。

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

model-view-controller - breeze.js拡張エンティティを使用してグリッドの合計を計算するにはどうすればよいですか?

私はMVVMパターンbreeze.jsとknockout.jsを使用してMVCWebアプリケーションに取り組んでいます。これらのjsライブラリを使用するのはこれが初めてですが、それでもそれらがどのように機能するかを把握する必要があります。

アプリケーションのページの1つには、列と行の両方が動的に生成されるグリッドがあります。列を追加する必要があります。各行について、次の行のセルに値の合計が表示されます。ここに例があります:

グリッドは、そよ風のエンティティオブジェクト(planningItems)をテンプレートにバインドすることによって生成されます。オブジェクトには、DataTypeId、Comment、Member、Total、FactValuesのプロパティがあります。合計は計算された合計です。

次のようにbreezeエンティティオブジェクトを拡張して、Totalプロパティを追加しようとしています。

基本的に、このコードが行うことになっているのは、評価が延期されたTotalという名前のノックアウト計算されたオブザーバブルを追加することによってエンティティを拡張することです。この関数は、そよ風の観測可能な配列FactValuesを反復処理し、値を追加します。私はこのコードのさまざまなバージョンをいじくり回していて無駄にしています。誰かがこのコードの何が問題になっているのかについてのヒントを教えてもらえますか?

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

javascript - Knockout.js:選択オプションで使用する配列を返すために計算されたオブザーバブルを取得する

基本的に、私が達成しようとしているのは、Knockout.jsの別のドロップダウンの値に基づいてドロップダウンを設定することです

私のビューコード(明らかに削除されました):

私の見解-モデル(ここでも削除):

ショーに挿入alert()すると、必要な値が入力されます。問題となっているHotels列の対応する行の選択オプションにその配列が表示されるようになっています。this.generall()stayOptions

おそらく私は本当にばかげた間違いを犯していますが、私は長い間コードを見ていて、何も思い浮かびません。お知らせ下さい。

編集:ビューモデルの最初にこれも行っています:

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

arrays - ノックアウト 2: 観測可能な配列内の各項目で計算された値を実行する方法。

こんにちは、私は観測可能な配列を持っています

オブジェクト [ウィンドウ] に税法がないというエラーが表示されます。

どうすればいいですか?