首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制器+指令中的角度范围

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

Stack Overflow用户
提问于 2014-04-14 13:59:34
回答 1查看 140关注 0票数 1

我对角度很陌生,我的指令和控制器之间的范围有问题。这是我的代码:

主计长:

代码语言:javascript
复制
var myApp = angular.module('myApp', []);

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

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

指令:

代码语言:javascript
复制
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:

代码语言:javascript
复制
     <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>

我得到了这个错误:未定义ReferenceError: doSomething --如何在指令中使用doSomething函数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-14 14:03:26

这一行:

代码语言:javascript
复制
doSomething();

应该是

代码语言:javascript
复制
scope.doSomething();

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23062145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档