小编典典

iframe中的Angular JS作用域var值

angularjs

我正在使用angular js。我有一个控制器“ youTubePlayerCtrl”,在此控制器中,我有$
scope.videoID,其中包含youtube视频ID。我可以在h1块的belows
div中获得此值。但我无法在iframe中获得{{videoID}},请问有人可以帮助我解决此问题。

<div ng-controller="youTubePlayerCtrl">
    <h1>{{videoID}}</h1>
    <iframe class="youtube-player" type="text/html" width="auto"
        height="auto" src="http://www.youtube.com/embed/{{videoID}}"
        allowfullscreen frameborder="0"> </iframe>
</div>

这是错误日志:

[$ interpolate:noconcat]
http://errors.angularjs.org/undefined/
$ interpolate / noconcat?p0 =
http%3A%2F%2Fwww.youtube.com%2Fembed%2F%7B%7BvideoID%7D%7D错误(),位于http://code.angularjs.org/1.2.0-rc.2/angular.min.js:6:453,
位于g(http://code.angularjs.org/1.2.0-rc.2
/angular.min.js:69:467)在b.push.compile(http://code.angularjs.org/1.2.0-rc.2/angular.min.js:54:6在升)(HTTP
://f.http://code.angularjs.org/1.2.0-rc.2/angular.min.js:47:124)(http://code.angularjs.org/1.2.0-rc.2/angular。
min.js:41:361)在l(http://code.angularjs.org/1.2.0-rc.2/angular.min.js:47:64)在f(http://code.angularjs.org/1.2.0-rc.2/angular.min.js:41:361),网址http://code.angularjs.org/1.2.0-rc.2/angular.min
.js:40:434
网址http://code.angularjs.org/1.2.0-rc.2/angular-
route.min.js:7:148 angular.js:7861(匿名函数)

Jsfiddle(不起作用)

谢谢


阅读 212

收藏
2020-07-04

共1个答案

小编典典

首先 :您需要使用ng- src而不是src@Cherniv在对问题的评论中建议的方式。在这里阅读更多。

第二 :出于安全原因,您无法在source属性内并置URL:必须在范围变量(例如)中fullURL然后在Javascript中并置URL
ng- src="{{fullURL}}"在这里阅读更多。

第三 :如果启用了严格的上下文转义(SCE)‒并且Angular v1.2默认情况下启用了SCE
‒您需要将URL列入白名单。在这里这里阅读更多。

2020-07-04