Angularjs 在普通javascript中访问$scope

Angularjs 在普通javascript中访问$scope,angularjs,Angularjs,我有一个控制器有这样的东西 angular.module('kZoneApp').controller('DemandController', ['$http', '$scope', '$rootScope', 'dataFactory', '$window', '$routeParams','$sce', function ($http, $scope,$rootScope, dataFactory, $window, $routeParams,$sce) { $scope.chan

我有一个控制器有这样的东西

angular.module('kZoneApp').controller('DemandController', ['$http', '$scope', '$rootScope', 'dataFactory', '$window', '$routeParams','$sce', function ($http, $scope,$rootScope, dataFactory, $window, $routeParams,$sce) {

    $scope.channel = $routeParams.channel;
现在,在my page.html中,我想执行以下操作

<script>
 YoutubeVideoPlayer.openVideo('{{channel}}');
</script>
如何在模板视图中获取通道的值

更新

下面的工作…但我相信必须有一个更干净的解决方案

    setTimeout(function () {
        alert(angular.element("#myView").scope().channel)
    }, 500);

解决方案应该是在Angular.module定义之前创建变量

var scopeInAngular = null;
在控制器内部为变量分配控制器

scopeInAngular = $scope;
然后,如果您在角度视图中操纵任何对象,请使用

scopeInAngular.$apply();

尝试将其更改为var channel=angular.element(document.getElementById(“myView”)).scope()。channel您应该反过来做,使
YoutubeVideoPlayer
成为angular中的常量<代码>一个glar.module('someModule')。常量('YouTube',YoutubeVideoPlayer)然后在指令中访问。结果相同。请看我的updateCallum,你能写一个简单的例子吗?这很有效。但是仍然必须放在setTimeout命令中。
scopeInAngular = $scope;
scopeInAngular.$apply();