問題タブ [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 投票する
3 に答える
13314 参照

java - 監視可能なJavaインターフェイス

私は次のものを持っています:

  1. Javaクラス:ClassAはObserverを実装します

  2. Javaインターフェイス:Inter(Observableを拡張しますが、不可能です)

  3. Javaクラス:ClassBはInterextendsObservableを実装します

  4. Javaクラス:ClassCはInterextendsObservableを実装します

これで、ClassAのコードは次のようになります。

ここで、ClassBまたはClassCで特定のイベントが発生した場合、ClassAにそのことを知らせたいと思います。Observer / Observableを使用することを考えましたが、問題は、インターフェイスがObservableを拡張できないことです。

誰かが質問を理解している場合は、ClassBまたはClassCで何かが発生したときにClassAを更新する方法を見つけるのを手伝ってください。

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

java - オブザーバー パターン

2 つのクラス (グラフィック クラスとコントローラー クラス) を持つアプリケーションを実装したいと考えています。Mi の目的は、コントローラー クラスで発生した変更を、発生した正確なタイミングでグラフィック クラスに反映することです。オブザーバーパターンを使って行う必要があるのですが、取得方法がわかりません...

ふりをした作業は次のとおりです。 - グラフィック クラスでは、3 つの JPanel があり、それぞれの Panle に 2 秒間隔で色を付けます。

今では次のコードがあります。

----------------------Observableクラス-------------------------- ------------------

---------------------------オブザーバークラス--------------------- -------------------

どうやってそれをしますか??

前もって感謝します!!

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

knockout.js - Knockoutjs 、観測可能な更新をキャンセル

次の JSFiddle http://jsfiddle.net/rayray/KAa6S/があります。[フォルダーの編集] をクリックすると、ダイアログがポップアップ表示され、名前を編集できます。フォームのフォルダー名は、knockoutjs オブザーバブルであるため変更されます。キャンセル ボタンをクリックした後、キャンセルして古いデータに戻すにはどうすればよいですか。

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

java - コンストラクターでこれをリーク

クラスはシングルトンであり、に安全に渡すことControllerができる特殊なケースのようです。thisController

Netbeansは

「コンストラクターで疑わしいパラメーターを渡す」ヒントを構成する

そのため、私はそれが良いアプローチではないことを収集しcontroller.addObserver(this);ますが、より良いテクニックは何であるかを尋ねさせます。

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

javascript - Knockout.js:監視可能な配列の変更に基づいて値を変更するにはどうすればよいですか?

リストの基礎となるKnockout.JSの監視可能な配列があります。

この配列の変数は監視可能です:

クリックされたリスト要素のデータを入力したい詳細ビューもあります。例:

これを埋める関数は、クリックハンドラーからそれぞれの配列項目を取得します。

詳細ビューを配列の値に接続して、配列の値を変更すると詳細ビューに表示されるようにするにはどうすればよいですか?

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

internet-explorer - Knockout の監視可能な要素が IE で正しく更新されない

私はこの本当に単純な観察可能な要素を持っていますが、これは何らかの理由でIE8で更新されません

そのため、Enter をクリックすると、テキストボックスに入力された値が表示されるはずです。mozilla、opera、chrome ではすべて問題ありません。IE は変更を認識せず、常に空の文字列でアラートを出します。なんで?
ここで、このコードを実行できます

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

jquery - 動的コンテンツへのHTMLバインディング

私は次のマークアップを持っています:

KnockoutJSを使用してviewModelJavaScriptオブジェクトをビューにバインドしています。また、サーバー上のサイトマップにナビゲーションを接続するためのカスタムバインディングを作成しました。以下は私がこれまでに得たものからのいくつかの抜粋です:

そして、これがSammy.jsライブラリを使用してURLハッシュに基づいてルーティングを行うカスタムバインディングです。

サーバーから返されるデータは次のとおりです。

アップデート:

updateここで問題となるのは、メソッドのAJAXコールバックがrenderHub()返されると、カスタムバインディングコールバックがトリガーされないことです。バインディングなどを強制するために何らかのメソッドを呼び出す必要がありますか?

何かご意見は?

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

java - Javaオブザーバブル(MVC)で同じクラスの複数のデータを観察する方法は?

これが私が考えた2つのオプションです。

  1. それぞれが 1 つのクラスを表す複数のモデルを用意します。2 つの int オブジェクトがある場合、2 つのオブザーバブルを作成し、どのオブザーバブルが変更されたかをビューでチェックする必要があります。

  2. 1 つのオブザーバブル (モデル) で、同じクラスの複数のオブジェクトを Array にグループ化します。ビューでは、配列を反復し、配列内のすべてのデータを含むすべてのフィールドを変更する必要があります。

私は、Java Observable と Observer を使用して MVC パターンを実装する方法を学び始めています。私が言及した2つの方法は最善の解決策ではありません。これについて何らかの助けが得られることを願っています。

編集: 例、私は監視可能なクラスに次のメソッドを持っています。誰かが int b の値を取得するためにオブザーバーに update() を書く方法を教えてもらえますか?

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

javascript - HTMLマークアップからobservableに初期値を与える

HtmlHelperビューにHTMLを出力する拡張機能を作成しようとしています。このHTMLでは、KnockoutJSバインディングをいくつか接続しています。私はKOに慣れていないので、まだいくつかのことを成し遂げるのに苦労しています。とにかく、私がやろうとしているのは、クライアント側のコードでオブザーバブルにバインドされた入力フィールド(サーバー側のコードで)を生成し、非表示のフィールドの値を介してオブザーバブルの初期値を設定することです。残念ながら、それは私にはうまくいきません。だから私はこれを成し遂げることができる方法があるかどうか疑問に思っています(私がそれを完全に異なってしなければならないとしても)。

これが私が基本的にしていることです:

私のクライアントサイドビューモデルには、次のものがあります。

そして私の拡張メソッドは以下を出力します:

しかし、ページがレンダリングされるとき、要素を調べるvalueと、入力フィールドのが空の文字列に設定されていることに気付きます。これは、オブザーバブルが宣言されている方法によるものだと思います。しかし、この動作などをオーバーライドする方法はありますか?

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

javascript - NS_ERROR_XPC_BAD_CONVERT_JS: JavaScript 引数 arg 0 [nsIDOMWindow.getComputedStyle] を変換できませんでした (フォローアップ)

わかりましたので、コードのどの部分が例外を引き起こしているかをようやく突き止めました。ここで最初の投稿を読むことができます最初の投稿のコードには、実際に例外を引き起こしている部分 (viewPortDataオブザーバブルへの手動サブスクリプション) がありません。どうやら、私はどういうわけか間違っています...コードは次のとおりです。

それで、どこで間違ったのですか?