Javascript 如何获取用$sce包装的对象的展开值?
在我的web应用程序中,我给了一个用angular$sce包装的对象。在这个对象中,每个属性都有一个特殊的属性$$unwrappedTrusted,但它并没有真正给我对象值。如何获取对象属性的可信值?我通过调用toString()来获取每个属性的值函数,但我并没有找到任何方法来帮助我找到对象本身 如果我正确理解了您的问题,您希望打开(或使用?)angular服务包装的值Javascript 如何获取用$sce包装的对象的展开值?,javascript,angularjs,Javascript,Angularjs,在我的web应用程序中,我给了一个用angular$sce包装的对象。在这个对象中,每个属性都有一个特殊的属性$$unwrappedTrusted,但它并没有真正给我对象值。如何获取对象属性的可信值?我通过调用toString()来获取每个属性的值函数,但我并没有找到任何方法来帮助我找到对象本身 如果我正确理解了您的问题,您希望打开(或使用?)angular服务包装的值$sec 要在html文档中使用此值,可以使用指令ng bind html <div ng-bind-html="myWr
$sec
要在html文档中使用此值,可以使用指令ng bind html
<div ng-bind-html="myWrappedValue"></div>
请注意以两个美元符号($$)开头的房产被视为私人房产,不应进入
另请参见,因为@rrhrg说,房产以$$开头,被认为是私人的,使用起来不安全。更好地使用$sce服务的方法
var trustedResource = $sce.trustAsResourceUrl("www.abcd.com/folder/image.png");
$sce.valueOf(trustedResource); // "www.abcd.com/folder/image.png"
您可以使用getTrustedHtml()函数。这将从$$unwrapTrustedValue获取html字符串值
vm.user.bio = $sce.getTrustedHtml(vm.user.bio);
您可能还需要包括
这篇文章中有更多关于这个主题的答案:
只需一个简单的
.toString()
即可为您提供对象值/。没有$sce.valueOf
。更新了我的答案。添加了演示链接,因为我在文档中还没有看到这种方法,所以使用$sce.getTrustedResourceUrl
似乎更正确。
vm.user.bio = $sce.getTrustedHtml(vm.user.bio);