問題タブ [ng-bind-html]
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.
angularjs - ng-repeat と ng-bind-html で ng-click を機能させるにはどうすればよいですか?
ng-repeat および ng-bind-html 内で機能する ng-click ディレクティブを取得しようとしています。ng-click コードは、サーバーからプルされたデータから html の文字列に追加されます (したがって ng-bind-html)。セットアップには、コントローラー、Drupal を使用してページに配置される基本テンプレート、および Drupal からテンプレートを介して読み込まれる部分テンプレートがあります。
現時点では、コントローラーは次のようになります。
ViewService.get() 呼び出しでわかるように、データがフェッチされてから処理されます。処理は、クリックできるように意図された「イントロ」フィールドの最後にリンクを配置するだけです。
しばらくの間、ng-click ディレクティブを表示することさえ困難でした ($sce.trustAsHtml なしで除外されていました)。現在はそこにありますが、クリックしても効果がありません。
メイン テンプレート (Drupal から) は現在次のようになっています。
上記の Drupal テンプレートに配置されている ng-click は、期待どおりに機能します。
ng-repeat で使用されるパーシャルは、次のようになります。
これまでのところ、ng-click を short_intro で機能させることに取り組んできただけで、これまでのところ成功していません。私が間違っていることについてのアイデアは大歓迎です!
angularjs - AngularJS - 1 つのタグで複数の文字列と HTML ファイルをレンダリングする
テンプレート ファイル (ビュー + コントローラー) と複数の html 文字列を 1 つのタグにまとめてレンダリングしたいと考えています。-だから私はいくつかの文字列を持っています
およびhtmlファイル+コントローラーのような
文字列と template.html を 1 つのタグにレンダリングしたいと考えています。
私はすでにhtml文字列を接続しており、これらをレンダリングすることができます
html ファイルをシリアライズして ng-bind-html でもレンダリングできますか? これらのファイルには独自のコントローラーがあります。
彼らは機能を失うでしょうか?
注: 要素の順序は重要です!!! たとえば、文字列をレンダリングし、次にファイルの内容をレンダリングし、次に再び文字列をレンダリングしたいとします。
どうもありがとう!
angularjs - ビューで動的に作成された変数に値を設定する方法
私はこれのために壁に向かって頭を叩いています:
ビューテンプレートでコントローラーから動的に生成されたビュー変数の値を設定したい:
私のコントローラーで:
関数 :
説明 : iFrame を個々の div 要素に挿入したいと考えています。
誰でもこれを行う方法を知っていますか?
javascript - 角度誤差がわかりませんか?
ここにあるメニューを構築しようとしています:
ただし、プロジェクトに実装すると、次のエラー メッセージが表示されます。
私が得る結果は、メニュー項目名を見ることができますが、それらにカーソルを合わせると、空のメニューボックスが表示されますか?
HTMLを使用した2つのディレクティブも次のとおりです。
angularjs - ng-bind-html で IFrame がレンダリングされない
ブログ記事をページにレンダリングするために使用されるデータソースがあります。エントリの 1 つに IFRAME が含まれています。IFRAME がデータソースに返されているのがわかりますが、ng-bind-html のページにレンダリングされません。
これは私のコードです:
これを次のように切り替えると、IFRAME タグがレンダリングされていることがわかりますが、もちろん今は RAW HTML です。
この IFRAME をページにレンダリングするにはどうすればよいですか。
javascript - CKE edtior、AngularJS、codesnippets
最良のことは、最初から始めることです..だから:(AngularJS)に取り組んでいるプロジェクトで、私はCKEditorをwysiwygエディターとして使用しています。コードニペットの機能を追加するまで、すべてがうまく機能していました。
CKE は純粋な html コードを生成します。これをモデルにバインドして、何が起こっているかをリアルタイムで確認できます。私の側では、ng-bind-html を使用して結果を確認してきましたが、うまくいきました。太字、斜体、見出し、フォント、サイズなど、すべての基本的なhtmlコードが機能していました。
CodeSnippet プラグイン ( http://ckeditor.com/addon/codesnippet ) が入ったとき...動作を停止しました (codesnippet 部分を意味します)。動作しない HTML の例 (ところで、CKE は、通常のタグ < と > の代わりに ‚< と > を使用してコードを生成するので、それらを置き換える必要があります... しかし、それが問題ではないことは気にしないでください :) )。スニペットの例 (ng-bind 側では機能しません):
問題は、エディター内ではすべてが正常に機能するが、外部 (ng-bind-html ディレクティブにバインドされている場合) では機能しないことです。
これまでに試したこと:
- CKE エディターが内部で使用する CSS ファイルを含めました。- コード スニペット プラグインは highlight.js を使用するため、CKE html コードを highlight.js コードに変換しようとしましたが、うまくいきました。例:
しかし問題は、CKE エディターが複雑なテキスト (コード スニペット、その他のもの、引用符などを含む) を生成することです。したがって、これらすべてを HLJS ディレクティブに入れると、すべてが強調表示されます。それは私が達成したかったことではありません。
この問題に対する私の解決策は、HLJS + 通常の html コードを使用して動的にディレクティブを追加することでした。結果の例: (hljs ディレクティブ、hightlight.js の angular ディレクティブ):
それを機能させるには、追加したコード全体を再コンパイルする必要がありました..だから私はそれをディレクティブに入れて、更新されたらコードを監視して再コンパイルしました。
そして..うまくいきました!! しかし…ここで本当の問題が発生します。
* $compile は何らかの形で内部のすべてのものを検証するため、HTML で有効なコード スニペットに対してのみ機能します…何が起こっているのでしょうか? 「<」タグは「& lt;」に変換されます … HTML タグを開くと.. すぐに閉じます.. (「忘れてしまった」場合) および他の多くの奇妙で容認できないもの。
何か考えはありますか?できるだけ分かりやすく説明するよう心がけておりますが、他にご不明な点がございましたら..
angularjs - 括弧を含む式で ng-bind-html-unsafe を使用する
プロパティ名にハイフンを含むテンプレートで式をレンダリングする angular の場合、ドットの代わりに角かっこを使用する必要があります。docs.paragraph-content の代わりに docs["paragraph-content"] の例。この変数を ng-bind-html-unsafe 内で ng-bind-html-unsafe="doc["paragraph-content"]" のようにディレクティブ テンプレート内に出力しようとしていますが、構文エラーが発生しています。エラー: 構文エラー: トークン 'undefined' は、[doc[] で始まる式 [doc[]] の列 NaN のプライマリ式ではありません。