问题描述
经过一些调试后,我发现错误是这样的:
Error: [$interpolate:noconcat] Error while interpolating:
<http://www.thebigdot.com/>{{file}} Strict Contextual Escaping disallows
interpolations that concatenate multiple expressions when a trusted value is
required. See
[http://docs.angularjs.org/api/ng.$sce](http://docs.angularjs.org/api/ng.%24sce)
http://errors.angularjs.org/1.2.0-rc.2/ $ interpolate / noconcat?p0 =http%3A%2F%2Fwww.thebigdot.com%2F%7B%7Bfile%7D%7D at http://code.angularjs.org/1.2.0-rc.2/angular.js:78:12 at $ interpolate(http://code.angularjs.org/1.2.0-rc.2/angular.js:6953: 17)at nodeLinkFn的attrInterpolateLinkFn(http://code.angularjs.org/1.2.0-rc.2/angular.js:5367:27)(http://code.angularjs.org/1.2.0-rc。 2 / angular.js:5121:13)(位于CompositeLinkFn(http://code.angularjs.org/1.2.0-rc.2/angular.js:4640:15)位于nodeLinkFn(http://code.angularjs。 org / 1.2.0-rc.2 / angular.js:5115:24)在CompositeLinkFn(http://code.angularjs.org/1.2.0-rc.2/angular.js:4640:15)在compositeLinkFn(http://code.angularjs.org/1.2.0-rc.2/angular.js:4643:13)在publicLinkFn(http://code.angularjs.org/1.2.0-rc.2 /angular.js:4549:30),网址为http://code.angularjs.org/1.2.0-rc.2/angular.js:1157:27 angular.js:7861
本文介绍了正在发生的事情以及如何禁用严格的上下文转义:http ://docs.angularjs.org/api/ng.$sce
解决方法
我正在尝试在有角度的JS应用中实现视频元素,并且ng-src不会读取范围变量
我正在使用1.2.0-rc.2
<!DOCTYPE html>
<html ng-app="ngView">
<head>
<script src="http://code.angularjs.org/1.2.0-rc.2/angular.min.js"></script>
<script>
var app = angular.module('ngView',[]);
function MyControl($scope){
$scope.file = '1234.mp4';
}
</script>
</head>
<body ng-controller="MyControl">
<video controls ng-src="http://www.thebigdot.com/{{file}}"></video>
</body>
</html>
如果我使用的是较旧版本的AngularJS库,则可以使用。
cdnjs.cloudflare.com/ajax/libs/angular.js/1.0.3/angular.min.js (works)
这是最新版本中的错误,还是故意将其禁用?解决方法是什么?