Javascript 带transclude的指令:true,如何访问父范围变量?

Javascript 带transclude的指令:true,如何访问父范围变量?,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,这是我的密码 theModule.directive('someVideo', [ function(){ function link(scope, element, attrs, parentCtrl) { var htmlVideo = angular.element(element).find('video')[0]; var htmlCanvas = angular.element(element).find('canvas')[0];

这是我的密码

theModule.directive('someVideo', [ function(){

    function link(scope, element, attrs, parentCtrl) {
        var htmlVideo = angular.element(element).find('video')[0];
        var htmlCanvas = angular.element(element).find('canvas')[0];
        scope.$watch('video.src', function(n,o){
            console.log(n,'video.src');
            htmlVideo.src = n;
            htmlVideo.play();            
        });

    };  

    return {
        transclude: true,
        link: link,
        templateUrl: 'partials/someVideo.html'
    };
}]);
partials/someVideo.html

<video autoplay="true" crossOrigin=''  ng-class="video.id" >    </video>

homepage.html

            <div someVideo />

对于此块,我正在监视
video.src
属性是否已更改(在控制器中),html5video元素是否已重新加载并播放新源,该部分工作正常,但如何访问此指令中的
video
变量(存在于控制器中)

  scope: false
  transclude: false
并且您将具有相同的作用域(与父元素)


根据这两个选项范围&transclude,有很多方法可以访问父范围。

尝试了您的答案,得到了相同的输出,然后我意识到我的错误,我使用的是
video
而不是
scope.video
$scope.$watch(...