6

angularJS でブログを作成しようとしていましたが、メッセージの投稿セクションで、json からメッセージを取得し、このようなコンテンツ div に追加したいと考えています。

<div class="content">
    {{json.message}}
</div>

今、私の div には段落があり、実際にはこのような html コードです

<p>this is my message</p>

しかし、これを行うと、画面にこれが表示されます

<p>this is my message</p>

テキストとして。以前のバージョンでは ng-bind-html-unsafe を使用できたことは理解していますが、angularJS の v1.2 を使用しています。v1.2でこれを機能させるために、ng-bind-html-unsafeに似たコードを誰かに見せてもらえますか? ありがとう、ダニエル!

4

2 に答える 2

6

1.2 ではStrict Contextual Escaping サービス( $sce) を使用できます。

コントローラ:

function myCtrl($scope,$sce) {
    $scope.myHtml = $sce.trustAsHtml('<span>Hello World!</span>');
}

テンプレート:

<div ng-app ng-controller="myCtrl">
    <div ng-bind-html="myHtml"></div>
</div>

例: http://jsfiddle.net/TheSharpieOne/GKnrE/1/

于 2013-09-12T20:53:38.287 に答える
4

$sceサービスを挿入して使用し、信頼できる HTML としてマークしてから、ng-bind-htmlディレクティブ ( plunkr )を使用する必要があります。

app.js:

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

app.controller('MainCtrl', function($scope, $sce) {
  $scope.name = $sce.trustAsHtml('<p>Hello World</p>');
});

index.html:

<body ng-controller="MainCtrl">
    <div class="content" ng-bind-html="name"></div>
</body>
于 2013-09-12T20:53:01.120 に答える