Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 控制器中的角度范围+;指令_Javascript_Angularjs - Fatal编程技术网

Javascript 控制器中的角度范围+;指令

Javascript 控制器中的角度范围+;指令,javascript,angularjs,Javascript,Angularjs,我是angular的新手,我的指令和控制器之间的作用域有问题。这是我的密码: 控制器: var myApp = angular.module('myApp', []); myApp.controller('testCtrl', function ($scope, $http) { $scope.doSomething = function() { alert("Testing Scope"); }; }); 指令: myApp.directive('ke

我是angular的新手,我的指令和控制器之间的作用域有问题。这是我的密码:

控制器:

var myApp = angular.module('myApp', []);

    myApp.controller('testCtrl', function ($scope, $http) {

    $scope.doSomething = function() {
       alert("Testing Scope");
   };
});
指令:

myApp.directive('keyEvents', function($document) {
        return {
            restrict: 'A',
            link: function(scope, element, attrs) {
                $document.on('keypress', function(e) {
                 switch (e.keyCode) {
                    case (49):
                            doSomething();
                            break    

                    default:
                    } 
                }); 
            } 
          }; 
        }); 
HTML:

     <script src= "js/main.js"></script>
     <script src = "js/keyevents.js"></script>

     <body ng-app ="myApp">
        <div ng-controller="testCtrl">
               <div key-events>
               </div>
        </div>  
    </body>

我收到以下错误:未捕获引用错误:未定义doSomething-如何在指令中使用doSomething函数?

此行:

doSomething();
应该是

scope.doSomething();
因为当您从控制器在作用域中定义方法并且该作用域在指令中继承时,您只能通过作为参数传递的
scope
来访问它