問題タブ [knockout-components]
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.js Viewmodel 変数に HTML を追加するにはどうすればよいですか?
ページに表示されるステップのリストがあります。一部のステップ (すべてではない) には、1 ~ 3 のサブステップがあります。これを行う最も簡単な方法は、ビューモデルの各ステップ宣言内に HTML を手動で記述することだと考えていました。
以下のコードを見ると、私がやりたいことは次のようなものです。
問題は、そこに書かれた HTML が ではstring
なく として解釈されることHTML
です。HTML を実際の HTML として解釈するようにするにはどうすればよいですか?
フィドル: https://jsfiddle.net/8o31m6rq/2/
HTML:
JavaScript/ノックアウト:
javascript - Asp MVC で Knockout コンポーネントと RequireJs コンテンツが見つからない
KnockoutJs と RequireJs でコンポーネント バインド方法を使用しようとしていますが、解決できない単純な問題が発生しました。
Asp MVC 4 ソリューションの下にフォルダーを作成し、/SomeName/SomeSubName
このフォルダーの下に 2 つのファイルを作成しましたmycmt.js
。mycmt.html
cshtml に次の html を追加しました。
JSコード部分
mycmt.js の内部
コンソールにエラーは表示されませんが、バインディング ロジックでは、このコンポーネントを表示しようとしましたが、エラーが表示されました。
コンテンツが見つかりません
修正方法は?required がファイルをロードまたは検索できない理由。
javascript - KnockoutJS カスタム コンポーネント ローダーが「loadViewModel」を実行しない
環境
私はいじり回して、独自の (ちょうど別の) SPA フレームワークを作成しようとしています。このフレームワークでは、カスタム コンポーネント ローダーを作成して、ロードしているビューモデルでいくつかの依存性注入を実行できるようにしようとしています。
使用した KnockoutJS バージョン: 3.3.0
問題
loadViewModel
カスタム コンポーネント ローダーの関数は、コンポーネントの読み込み時に実行されません。
参照用のコード (ファイルを参照):
injector
この関数は、私が書いたカスタムの依存関係リゾルバーにすぎないことに注意してください。define
(AMD コンポーネントのorrequire
呼び出しとほとんど同じです。)
関数はgetConfig
適切に実行されます。
私の落書きの完全な概要については、この git リポジトリを参照してください
javascript - カスタム コンポーネント ローダー内の `createViewModel` 関数からテンプレートを変更する
knockoutjs には、いくつかのロジックを実行するカスタム コンポーネント ローダーがあります。基本的には createViewModel 関数からテンプレートを変更したいと考えています。があることcomponentInfo.templateNodes
は知っていますが、どうすればよいかわかりません。
createViewModel 関数で変更したい理由は、コンポーネントが表示されるたびに createViewModel 関数が呼び出されるためです。
ああ、コードは言葉よりもはるかに多くのことを語っているので、ここで自分でチェックしてください。
asp.net-mvc - Razor を介して Knockout コンポーネントに依存関係を注入する
Knockout コンポーネント + Asp.Net MVC を使用する場合、次のスニペットは良い方法ですか? 私が見逃しているかもしれない欠点はありますか?
基本的に、Razor サーバー側レンダリングを使用して、ko コンポーネントの依存関係 (主に初期データ) の一部を注入しています...
コードスニペット:
編集:
@Quango が指摘する文字列エスケープの問題を回避するために、次のヘルパーを実装しました。
使用法:
javascript - Knockoutjs:子コンポーネントから親コンポーネントの関数を呼び出す
問題: ウィジェットのダッシュボードを作成しようとしています。各ウィジェットのヘッダーには削除ボタンがあります。このボタンをクリックすると、対応するウィジェットが消える必要があります。
設計方法: 2 つのノックアウト コンポーネントがあります。
- my-widget-list: VO にはウィジェット オブジェクトの observableArray があります。
- my-widget: VO には、ウィジェット内に表示する詳細があります。
注: 簡単にするために、widget オブジェクトを数字だけに置き換えています。
ここで、ボタンがクリックされたときにmy-widget-list
の関数を呼び出したいと思います。deleteWidget
私は考えました
- 親ビュー モデル参照を子に渡す
- 子コンポーネントの params 属性で親関数をコールバックとして渡す
しかし、これを達成するための最良の方法は何かを専門家から知りたいです。
前もって感謝します
javascript - パラメータの変更でコンポーネントが破棄されるのはなぜですか?
コンポーネントのライフサイクルに関するkoのコンポーネントのドキュメントによると:
コンポーネント バインディングの名前の値が明らかに変化する場合、または囲んでいる制御フロー バインディングによってコンテナー要素が削除される場合、コンテナー要素が DOM から削除される直前にビューモデルの破棄関数が呼び出されます。
コンポーネントがこの fiddleで破棄されている理由がわかりません。
私のフィドルで発生しているドキュメントに上記のポイントが見当たりません。私は確かに a が変化するcomponent
ことdisposed
を期待していません。re-instantiated
params
なぜこれが起こっているのですか?
knockout.js - ノックアウトjsコンポーネントのパラメータが未定義
通知システムで使用する Knockout js コンポーネントを作成しています。コンポーネントをページに追加すると、params is undefined メッセージが表示されます。params オブジェクトがビューモデルのコンストラクターに送信されていないようです。
最初はコンポーネントローダーが問題だと思ったので、次のようにコンポーネントを手動で登録しました:
コンポーネントは、info.js と呼ばれる js ファイルで構成されます
および info.tmpl.html という html テンプレート
コンポーネント バインディングを使用して、ページにコンポーネントを追加します。
後で、これは websocket 経由で送信されるデータで満たされるため、params は観察可能になります。
ここで何が間違っているのか教えてください。コンポーネントの登録方法に関係があると思います。