問題タブ [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.
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">
私の頭に浮かぶ可能なオプション。
テーブル データ全体が読み込まれた後にカスタム バインドを適用しますか?? (しかし、どうすれば同じことができますか)
遅延更新プラグインも使用してみました
knockout.js - 調整された計算済みプロパティの強制更新
計算されたプロパティ(時間を含む)にバインドされたテキスト入力を持つフォームがあります。ユーザーが値を入力すると、合計分数を含む整数値に解析されます。
これは単純な関数ではないため (時間をフォーマットする方法は多数あります)、プロパティにはThrottle Extenderがあります。
これはすべて正常に機能します。問題は、ユーザーが値を入力してすぐに保存ボタンを押すと、調整された値がまだ評価されていないことです。
send メソッドからすぐにプロパティを強制的に更新する簡単な方法はありますか? を追加することもできますsetTimeout
が、もちろんそれは理想とはほど遠いものです。
javascript - システムによって変更された場合のみ入力を無効にする
このコードは検索を行い、結果を表示します。条件付きで s を無効にしたいいつ無効にするinput
かを制御するためにノックアウトを使用してinput
います。
要件:
input
システムによって設定されると無効になります。- ユーザー入力を無効にしないでください。
次のコードでは、からの入力がreadDatabase()
うまく機能します。ユーザーが出身地/ニックネームinput
を入力すると、タブアウトしてからinput
無効になります。2 番目の要件を満たすようにこのコードを修正するにはどうすればよいですか?
アップデート
私は、jQuery から何らかの助けを得ることに反対しているわけではありません。ビュー モデル バインディングを完全に破棄したくありません。
HTML
JavaScript
jquery - ノックアウト マッパーが正しく動作しない
多くのノックアウト記事を読みましたが、json オブジェクトの下をノックアウト ビュー モデルにマッピングできませんでした
これは私のjsfiddleコードですjsfiddle Link
javascript - Knockoutjs マッピングが機能しない
これは私のhttp://jsfiddle.net/ENMGp/468/サンプル コードです
私の Json オブジェクト
Styles 配列にアクセスしたいのですが、viewmodel ではアクセスできません
knockout.js - ノックアウトjsは、計算された内部オブジェクトを呼び出す方法は?
JSONオブジェクトにノックアウトjsをバインドしています
計算されたは、初期化中に一度だけ呼び出されます。Jsonプロパティが変更された場合に機能させる方法、または計算されたものを常に呼び出す方法は?
knockout.js - ノックアウト 3 と es5 プラグインを使用した双方向のカスタム バインディング
カスタム バインディングで、データをモデルに書き戻すことができません。問題は、「書き込み可能な」プロパティに書き込む方法がないことです。
ノックアウト 2 では使用する可能性がありましたがallBindingsAccessor()._ko_property_writers
、バージョン 3 ではそのようなことはありません。
私のHTML:
Js はこの例をいじります: http://jsfiddle.net/t5rWd/2/
予想される動作: div コンテンツを変更した後に入力を更新する必要があります (コンテンツ編集可能です) 。
現在の動作:一方向バインディングのように機能し、div は更新されますが、入力は更新できません。
jquery - ノックアウトjsを使用した複数のサーバー呼び出し
私はノックアウトを学んでおり、異なる URL に対して複数のサーバー呼び出しを行いたいと考えています。Knockout についてはよくわかりませんが、applyBinding を複数回使用することはできず、使用すべきではないことはわかっているので、次のようにします。
誰かが正しい方向への一歩や修正を与えることができれば、非常に感謝しています.
受け取ったコンソールのエラーは次のとおりです。
敬具
ジェームズ