0

私は次のhtmlを持っています:

<li class="editor" ng-model="post.text" ng-bind-html="post.text" add-class="post.text"></li>

ここで、post.text はラップされた trustedValue で、次のようになります。

http://i.imgur.com/ZrcqGHR.png

開封すると、次のようになります。

http://i.imgur.com/LJBeArp.png

次に、trustedValue を検索し、img タグにクラスを追加するディレクティブを作成します。これまでのところ、私はこれを持っています:

function AddClassToImg($sce) {
    return {
        restrict: 'A',
        scope: {
            addClass: '='
        },
        link: function (scope, elem, attrs) {
            var content = scope.addClass.$$unwrapTrustedValue();
            $(content).find('img').addClass('test');
        }
    }
};

angular.module('UserProfile')
    .directive('addClass', ['$sce', AddClassToImg]);

html から post.text を取得し、それに双方向バインドし、そのクラスの post.text のすべての画像に追加するにはどうすればよいですか?

4

2 に答える 2

0

私はそれを解決しました。誰もが同じことを疑問に思っています。コードは次のとおりです。

function AddClassToImg($sce, $compile){
    return {
        restrict: 'A',
        scope:{
            addClass: '='
        },
        link: function (scope, elem, attrs){

            var content = scope.addClass.$$unwrapTrustedValue();
            var newContent = $("<div>").append($(content).find('img').addClass('col-md-12 col-xs-12').end()).html();
            scope.addClass = $sce.trustAsHtml(newContent);
        }
    }
};
于 2014-08-04T11:37:02.747 に答える