問題タブ [knockout-3.0]

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 に答える
359 参照

javascript - ノックアウト カスタム バインディングと遅い処理

Knockout 3.0を使用して、テーブル データを Web ページにレンダリングしています。

約 200 行をテーブルにロードし、カスタム バインディング ハンドラーを使用して、テーブル列へのドラッグ アンド ドロップ機能を許可しています。

このテーブルは、データのツリー構造からデータを取得しています (トラバーサルのバインディングごとに複数)

問題は、Internet Explorer ではページの読み込みが非常に遅く、約 15 秒かかるのに対し、Firefox と Chrome は IE に比べて非常に高速 (約 3 秒) であることです。

コードを削除したところ、カスタム バインディングの 1 つ (ドロップ可能なもの) が問題を引き起こしていることがわかりました。

IE でこれのレンダリング速度を改善するにはどうすればよいですか。(6,7,8,9)?

そして、次のようなテーブル列で呼び出されます <td class="outerDroppable b" data=bind="droppable">

私の頭に浮かぶ可能なオプション。

  1. テーブル データ全体が読み込まれた後にカスタム バインドを適用しますか?? (しかし、どうすれば同じことができますか)

  2. 遅延更新プラグインも使用してみました

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

knockout.js - 調整された計算済みプロパティの強制更新

計算されたプロパティ(時間を含む)にバインドされたテキスト入力を持つフォームがあります。ユーザーが値を入力すると、合計分数を含む整数値に解析されます。

これは単純な関数ではないため (時間をフォーマットする方法は多数あります)、プロパティにはThrottle Extenderがあります。

これはすべて正常に機能します。問題は、ユーザーが値を入力してすぐに保存ボタンを押すと、調整された値がまだ評価されていないことです。

send メソッドからすぐにプロパティを強制的に更新する簡単な方法はありますか? を追加することもできますsetTimeoutが、もちろんそれは理想とはほど遠いものです。

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

javascript - システムによって変更された場合のみ入力を無効にする

このコードは検索を行い、結果を表示します。条件付きで s を無効にしたいいつ無効にするinputかを制御するためにノックアウトを使用してinputいます。

要件:

  1. inputシステムによって設定されると無効になります。
  2. ユーザー入力を無効にしないでください。

次のコードでは、からの入力がreadDatabase()うまく機能します。ユーザーが出身地/ニックネームinputを入力すると、タブアウトしてからinput無効になります。2 番目の要件を満たすようにこのコードを修正するにはどうすればよいですか?

アップデート

私は、jQuery から何らかの助けを得ることに反対しているわけではありません。ビュー モデル バインディングを完全に破棄したくありません。

フィドル

HTML

JavaScript

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

jquery - ノックアウト マッパーが正しく動作しない

多くのノックアウト記事を読みましたが、json オブジェクトの下をノックアウト ビュー モデルにマッピングできませんでした

これは私のjsfiddleコードですjsfiddle Link

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

javascript - Knockoutjs マッピングが機能しない

これは私のhttp://jsfiddle.net/ENMGp/468/サンプル コードです

私の Json オブジェクト

Styles 配列にアクセスしたいのですが、viewmodel ではアクセスできません

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

knockout.js - ノックアウトjsは、計算された内部オブジェクトを呼び出す方法は?

JSONオブジェクトにノックアウトjsをバインドしています

計算されたは、初期化中に一度だけ呼び出されます。Jsonプロパティが変更された場合に機能させる方法、または計算されたものを常に呼び出す方法は?

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

knockout.js - ノックアウト 3 と es5 プラグインを使用した双方向のカスタム バインディング

カスタム バインディングで、データをモデルに書き戻すことができません。問題は、「書き込み可能な」プロパティに書き込む方法がないことです。

ノックアウト 2 では使用する可能性がありましたがallBindingsAccessor()._ko_property_writers 、バージョン 3 ではそのようなことはありません。

私のHTML:

Js はこの例をいじります: http://jsfiddle.net/t5rWd/2/

予想される動作: div コンテンツを変更した後に入力を更新する必要があります (コンテンツ編集可能です) 。

現在の動作:一方向バインディングのように機能し、div は更新されますが、入力は更新できません。

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

jquery - ノックアウトjsを使用した複数のサーバー呼び出し

私はノックアウトを学んでおり、異なる URL に対して複数のサーバー呼び出しを行いたいと考えています。Knockout についてはよくわかりませんが、applyBinding を複数回使用することはできず、使用すべきではないことはわかっているので、次のようにします。

誰かが正しい方向への一歩や修正を与えることができれば、非常に感謝しています.

受け取ったコンソールのエラーは次のとおりです。

敬具

ジェームズ