1. ホーム
  2. ハイパーリンク

[解決済み】ng-bind-html-unsafeを削除した場合、HTMLを注入するにはどうすればよいですか?

2022-04-02 18:43:48

質問

を使おうとしています。 $sanitize プロバイダと ng-bind-htm-unsafe ディレクティブを使用して、コントローラが DIV に HTML を注入できるようにします。

しかし、うまく動作させることができません。

<div ng-bind-html-unsafe="{{preview_data.preview.embed.html}}"></div>

AngularJSから削除されたからだということがわかりました(感謝)。

しかし ng-bind-html-unsafe このようなエラーが発生します。

http://errors.angularjs.org/undefined/$sce/unsafe

解決方法は?

  1. sanitize.jsがロードされていることを確認する必要があります。例えば、次の場所から読み込んでください。 https://ajax.googleapis.com/ajax/libs/angularjs/[LAST_VERSION]/angular-sanitize.min.js
  2. をインクルードする必要があります。 ngSanitize モジュールで app を例とします。 var app = angular.module('myApp', ['ngSanitize']);
  3. でバインドするだけです。 ng-bind-html 元の html というコンテンツがあります。コントローラで何か他のことをする必要はありません。パースと変換は、自動的に ngBindHtml ディレクティブを使用します。(詳細は How does it work のセクションで説明します。 ドルチェ ). つまり、あなたの場合 <div ng-bind-html="preview_data.preview.embed.html"></div> が仕事をすることになります。