1. ホーム
  2. angularjs

[解決済み] Angular 1.2+ で ng-bind-html-unsafe を複製するために $sce.trustAsHtml(string) を使用するにはどうしたらよいですか?

2022-02-09 06:50:21

質問

ng-bind-html-unsafe は Angular 1.2 で削除されました。

を使うような実装をしようとしています。 ng-bind-html-unsafe . ドキュメントやgithubのコミットでは、こう言われています。

ng-bind-htmlはng-html-bind-unsafeのような動作(innerHTMLの結果をそのまま出力)をします。 sce.trustAsHtml(string)の結果にバインドされている場合、サニタイズされます。)

どうやるんですか?

どのように解決するのですか?

そのはずです。

<div ng-bind-html="trustedHtml"></div>

に加えて、コントローラに

$scope.html = '<ul><li>render me please</li></ul>';
$scope.trustedHtml = $sce.trustAsHtml($scope.html);

の代わりに、古い構文では $scope.html 変数を直接指定します。

<div ng-bind-html-unsafe="html"></div>

何人かのコメントで指摘されているように $sce はコントローラ内に注入する必要があります。 $sce undefined のエラーが発生します。

 var myApp = angular.module('myApp',[]);

 myApp.controller('MyController', ['$sce', function($sce) {
    // ... [your code]
 }]);