加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 如何在我的角度指令中使用已注册的控制器?

发布时间:2020-12-17 07:44:50 所属栏目:安全 来源:网络整理
导读:我有一个控制器注册: myModule.controller('MyController',function ($scope,...some dependencies...){ .... 在HTML中使用ng-controller =“MyController”它一切正常,但现在我想使用这个控制器作为我的指令的控制器.这样的一些事情 otherModule.directive
我有一个控制器注册:
myModule.controller('MyController',function ($scope,...some dependencies...)
{
    ....

在HTML中使用ng-controller =“MyController”它一切正常,但现在我想使用这个控制器作为我的指令的控制器.这样的一些事情

otherModule.directive('myDirective',function() {
    return {
        restrict: 'A',replace: true,controller: ??????????,scope: {
            foo: '=',blah: '=',},template: '....'
    }
});

我累了只是把MyController,但它错误地说“MyController没有定义”.我确定如果我把MyController放在全局命名空间中,那么这个工作正常,但是我不希望在全局命名空间中使用任何东西.如果它有所作为,myModule被定义为otherModule的依赖关系.我如何获得对这个控制器的引用以供我的指令使用?

如所建议的,我尝试过$controller(‘MyController’),但是现在我收到以下错误:

Error: Unknown provider: $scopeProvider <- $scope <- myDirectiveDirective
at Error (<anonymous>)
at http://localhost/resources/angular.js?_=1360613988651:2627:15
at Object.getService [as get] (http://localhost/resources/angular.js?_=1360613988651:2755:39)
at http://localhost/resources/angular.js?_=1360613988651:2632:45
at getService (http://localhost/resources/angular.js?_=1360613988651:2755:39)
at invoke (http://localhost/resources/angular.js?_=1360613988651:2773:13)
at Object.instantiate (http://localhost/resources/angular.js?_=1360613988651:2805:23)
at http://localhost/resources/angular.js?_=1360613988651:4621:24
at otherModule.directive.restrict (http://localhost/resources/app.js?_=1360613988824:862:15)
at Object.invoke (http://localhost/resources/angular.js?_=1360613988651:2786:25)

我不知道该怎么做这个错误.是否有更多的需要做这项工作?

看来你只能使用:
controller: 'MyController'

如果控制器与指令相同的模块或由其中具有指令的模块组成的更高级别的模块.

当我尝试使用两个不同的模块组成一个应用程序模块(一个用于控制器,一个用于指令),这没有工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读