angular解析属性中的特殊符号

又掉入一个坑了…例子如下

ngSrc

1
2
3
<audio ng-src="usr"></audio>
$scope.usr="http://m2.music.126.net/9y-3IeHL6x1OLY0bO4QGxg==/7948369558839613.mp3"

上例的代码运行会爆插值错误
也就是Error: $interpolate:interr
Interpolation Error
于是你得用到一个插件angular-sanitize.min.js

$sce

引用了angular-sanitize.min.js插件后再运行就会发现还是会报错
WHY?因为你还没声明或者说转换

1
$scope.usr=$sce.trustAsResourceUrl("http://m2.music.126.net/9y-3IeHL6x1OLY0bO4QGxg==/7948369558839613.mp3")

这样就可以运行了,并且$sce与angular-sanitize.min.js两者缺一不可