Подтвердить что ты не робот

Как получить развернутое значение объекта, который завернут с $sce?

В моем веб-приложении я дал объект, который обернут с помощью angular $sce.In в этом объекте каждое свойство имеет специальное свойство $$ unwrappedTrusted, но на самом деле оно не дает мне значение объекта. Как мне можно доверять значение свойства объекта?

4b9b3361

Ответ 1

Поскольку @rrhrg говорит, что свойства начинаются с $$, считаются частными и небезопасными в использовании. Лучше использовать valueOf метод $sce service.

var trustedResource = $sce.trustAsResourceUrl("www.abcd.com/folder/image.png");
$sce.valueOf(trustedResource); // "www.abcd.com/folder/image.png"

http://jsbin.com/morixekuxi/edit?html,js,console

Ответ 2

Вы можете использовать функцию getTrustedHtml(). Это получает значение строки html от $$ unwrapTrustedValue.

vm.user.bio = $sce.getTrustedHtml(vm.user.bio);

Вам также может потребоваться включить ngSanitize.

В этой статье есть больше ответов на эту тему: Модуль тестирует вывод $sce.trustAsHtml в Angular

Ответ 3

Я получаю значение каждого свойства, вызывая функцию toString(), но я не нашел никакого метода, который помог бы мне найти объект.

Ответ 4

Если я правильно понял ваш вопрос, вы хотели бы развернуть (или использовать?) значение, обернутое службой angular $sec.

Чтобы использовать такое значение в вашем html-документе, вы можете использовать директиву ng-bind-html.

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

Чтобы развернуть такое значение, вы можете использовать функцию $$unwrapTrustedValue().

$sce.trustAsHtml('&copy;').$$unwrapTrustedValue() === '&copy;'

Обратите внимание на, что свойства, начинающиеся с двух знаков доллара ($$), считаются закрытыми и должны иметь доступ к NOT!

См. также http://jsfiddle.net/rrhrg/9vzckoj8/