2016-05-12 1 views
1

Я обновил угловую версию с 1.0.8 до 1.4.0.ng-bind-html-unsafe не работает

Я использовал ng-bind-html-unsafe="value | noHTML | newlines" для обертывания строки. Это не работает с новой версии.

Я пробовал использовать следующее решение, но все еще не работает.

app.filter('unsafe', function($sce) { return $sce.trustAsHtml; }); 

и

ng-bind-html-unsafe="value | unsafe | noHTML | newlines" 

ответ

2

С Угловое 1.2.x ng-bind-html-unsafe устарела, используем ng-bind-html

ng-bind-html="value | unsafe | noHTML | newlines" 
+0

Попробованного это. Но не работает. В этом случае требуется 'filter ('unsafe', function ($ sce) {return $ sce.trustAsHtml;})'? Угловая версия 1.4.0 – NaaN

+0

@ep вы включили модуль 'ngSanitize' в свою зависимость от приложения? –

+0

Нет. У меня нет. Позвольте мне попробовать. – NaaN

1

Благодарности @Pankaj Parkar:

Я получил его решить сейчас, Мне нужно отфильтровать все. т.е. to_trusted, noHTML и newlines. А также мы должны получить действительную стоимость от $sce.getTrustedHtml(object)

.filter('to_trusted', ['$sce', function($sce){ 
    return function(text) { 
     return $sce.trustAsHtml(text); 
    } 
}]).filter('noHTML', ['$sce', function($sce){ 
    return function(text) { 
     var str = $sce.getTrustedHtml(text); 
     str = str 
     .replace(/&/g, '&') 
     .replace(/>/g, '>') 
     .replace(/</g, '&lt;'); 
     return $sce.trustAsHtml(str); 
    } 
}]).filter('newlines', ['$sce', function($sce){ 
    return function(text) { 
     var str = $sce.getTrustedHtml(text); 
     str = str.replace(/\n/g, '<br/>'); 
     return $sce.trustAsHtml(str); 
    } 
}]) 

и

ng-bind-html="value| to_trusted | noHTML | newlines" 
Смежные вопросы