Javascript 控制器中的角度范围+;指令
我是angular的新手,我的指令和控制器之间的作用域有问题。这是我的密码: 控制器: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
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
来访问它