角JS动态ng-src在1.2.0-rc.2中不起作用

问题描述

经过一些调试后,我发现错误是这样的:

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)

这是最新版本中的错误,还是故意将其禁用?解决方法是什么?