1. ホーム
  2. javascript

アンギュラー出力 html

2022-02-18 22:32:53

angularをフロントエンドとして個人ブログを構築していたところ、angularJsでhtmlを出力すると、ブラウザがhtmlタグをパースしないことがわかったのですが、angularjsはどのようにこの機能を実現しているのでしょうか?

しかし、ここで我々はその表示アンギュラー出力htmlは、ブラウザで解析することができますする必要があるのですか?

apiで、html出力はng-bind-htmlというディレクティブで実現することがわかりました。

<div class="col-md-12 ng-binding" ng-bind-html="item.content ">





しかし、それは動作しません、ブラウザはまだhtmlコードを表示します。

'htmlの表示も$sceサービスを通して行う必要があることが後に判明しました。

	angular.module("list",[]).controller("BlogListCtrl", BlogListCtrl).filter(
		'to_trusted', ['$sce', function ($sce) {
			return function (text) {
	    		return $sce.trustAsHtml(text);
	    	}
		}]
	)





ここでは、出力される html をフィルタリングするために $sce でフィルタが構築されています。

<div class="col-md-12 ng-binding" ng-bind-html="item.content|to_trusted ">

これは、angularjsを通して普通にhtmlタグを出力し、ブラウザでパースされます。