在另一个模块中注入模块并使用注入模块的控制器

Posted

技术标签:

【中文标题】在另一个模块中注入模块并使用注入模块的控制器【英文标题】:Inject module in another module and use controller of injected module 【发布时间】:2018-12-23 03:22:17 【问题描述】:

我想创建一个模块并注入主模块,并将控制器注入注入模块,但它不起作用

在 index.html

<html ng-app="MenuApp">
<head>
</head>
<body>
<div ng-controller="demoCtrl as demo">
<h3>demo.hello</h3>
</body>
</div>
</html

在 app.js 中

(function () 
'use strict';
angular.module('MenuApp', ['data']);
angular.module('data', [])
.controller('demoCtrl', demoCtrl);
demoCtrl.$inject = [];
function demoCtrl() 
var demo = this;
demo.hello = "Hello World";
console.log('Hello World');

)();

当我使用 MenuApp 模块声明控制器(demoCtrl)时,它工作正常,但在使用 data 模块声明时不起作用

【问题讨论】:

【参考方案1】:

如果你提到你给出的例子,你的 html 标签是不正确的,如果不是代码看起来很正常。如果您给出错误,请与我们分享。

Codepen example of your codes

以下示例效果很好。

(function() 
    angular.module('navbar', ['data']);

    angular.module('data', [])
        .controller('DataCtrl', function() 
            console.log('Hello Data');
            this.data = 'Hello Data';
        );
)();

Html 在这里:

<div ng-app="navbar"> 
    <div ng-controller="DataCtrl as ctrl">  
         ctrl.data 
    </div>
</div>

Codepen Example

【讨论】:

感谢您的回答,其实我的html有点大,所以我在这里缩小并写了,但现在它可以工作了。再次感谢

以上是关于在另一个模块中注入模块并使用注入模块的控制器的主要内容,如果未能解决你的问题,请参考以下文章

在另一个提供者中注入提供者,相同的模块#1250

SPRING01_概述配置文件bean实例化依赖注入的方式依赖注入的数据类型分模块开发API使用

Springday01 maven依赖Spring介绍IOC模块IOC控制反转DI依赖注入SpEL表达式

卸载注入的 DLL

在 AngularJS 单元测试中模拟模块依赖

drupal8 模块开发 读书笔记 1