問題タブ [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.
jquery - ノックアウトjsで検証が機能しない
このコードを使用しているため、一意のパラメーターの入力フィールドを検証しています。
しかし、重複した値を追加してもメッセージは表示されません。termValues は、このように値を追加する監視可能な配列です。
これにはノックアウト検証プラグインを使用しています。
ここにjsフィドルリンクがあります
javascript - ノックアウト バインディング ハンドラ - IE9 で未定義の bindingContext.$data
ページ上のフィールドへのロール ベースのアクセスを適用するカスタム バインディング ハンドラーを作成しようとしています。カスタム ハンドラーでは、viewModel からの他のオブザーバブルの値をチェックし、条件に基づいて入力コントロールを有効または無効にします。
しかし、bindingContext.$parent、$root、$data、または $rawData から現在の ViewModel を取得できません。IE でデバッグすると {...} しか表示されない
この問題は IE でのみ発生します。Google クロームでは問題なく動作します。bindingContextを介して現在のViewModelを取得する方法について、誰かが私を助けてくれますか?
ここにフィドルがあります
javascript - Knockoutjs ドロップダウン ネストされた任意の Javascript オブジェクトでの事前選択 正常に動作する KO 2x バージョン KO 3x バージョンでは動作しない
これが私のサンプルデータです。これは、JSON 形式の構成でフォーム サーバーを以下のオブジェクト グラフにロードします。「Choice」オブジェクトの配列で、それぞれにid、name、stages、currentStageIdプロパティがあります。「 Choice」オブジェクトの「stages」プロパティは、 id、name、および valueプロパティを持つ「Stage」オブジェクトの配列です。「Choice」オブジェクトは、「First Stage」から「Fourth Stage」までの no.of ステージを通過します。ユーザーはドロップダウンリストから「ステージ」を選択して保存できます。「currentStageId」は「id」を格納するプロパティです
注: 各選択肢には、簡潔にするためにさまざまなタイプのステージを含めることができます。
つまり、選択肢 1 の場合、現在保存されているステージは 4 です。
データを保持する「Choice」および「Stage」 Modlesとバインド用のViewModelは次のとおりです。
これが私の見解です
Knockout.js 2x バージョン
- 保存されたステージの事前選択が機能しています
- 選択のために選択されたステージは、基礎となるオブザーバブルに更新されます
これはjsでKO 2xを使用した作業サンプルです
Knockout.js 3x バージョン
- 保存されたステージの事前選択が機能しない
- 選択肢として選択されたステージは保持されません。選択が変更されると、選択が変更されるたびに、selectedStage がドロップダウン リストの最初の項目に設定されます。
最後に実際の部分。質問!
- 2 つの異なるバージョンの KO で同じコードの動作が異なるのはなぜですか。KO で何か新しいものを見逃していますか? それともKOのバグですか?
- 最新バージョンの KO を使用して、新しいバージョンの KO と同じ機能を実現するには、どのようなコード変更を行う必要がありますか? 私のプロジェクトは最新バージョンの konckout.js 3.1.0 で開発されており、この機能のために古いバージョンに戻したくありません。
- 2x と 3x のどちらの KO バージョンの動作が正しいですか? 内部で何が起こっているのですか?この動作の不一致を引き起こしているのはどれですか?
前もって感謝します。
knockout.js - 外部データのノックアウトjsとのバインディング
eventschemas からのデータは、ブラウザーで表示できますが、バインドされていません。これは、下部にある $data 値で確認できます。これは、問題とスキーマの最小限の再現であることに注意してください。変えられない..
私のhtml:
私のJavaScript:
これは私の $data がどのように見えるかです:
ご覧のとおり、ブラウザのドロップダウンリストボックスに値が表示されていても、「eventschemacondition」の「schema」は空です。
どんな助けでも心から感謝します
ありがとう
javascript - Knockout.js の foreach バインディングは機能しますが、バインディングでは機能しません
Knockout.js 3.2.0 を使用して、observableArrayを正常にバインドするために戦ってきましたが、 withバインディングに絞り込みました。Foreachには問題はありませんが、 Uncaught ReferenceError: Unable to process binding "with: function (){return contactLists }"というエラーがスローされます。
何が起こっているのか理解するのを手伝ってくれる人はいますか?
これは機能します:
これはしません:
ko.observableArrayおよびapplyBindings宣言:
助けてくれてありがとう!
javascript - Knockout Components 、テンプレートはすでにこの要素に注入されていますが、まだバインドされていません
Knockoutjs Docsから、私はこの文を理解していません:
テンプレートは既にこの要素に注入されていますが、まだバインドされていません。
javascript - Knockout foreach を使用して複数列のレイアウトを作成するにはどうすればよいですか?
解決しようとしている問題を示すコード スニペットを含めました。内のデータに基づいて 2 列のレイアウトを構築しようとしていますobservableArray
。Knockoutif
バインディングを使用してみましたが、foreach
. これは非常に単純なはずですが、何らかの理由で、ノックアウトの領域内でこれを機能させる方法を理解できませんでした.