[英]How do I inject ngCookies into a controller within an angularAMD define()?
[英]How do I use AngularAMD without routes
我有一个AngularAMD应用程序,我有一个指令(在RequireJS意义上)依赖于该应用程序(它是该指令“生活”的Angular模块)。
如果我使用路由,并在路由视图中使用该指令,那么有一个包含controllerUrl的路由,它取决于包含该指令的文件。
如果我不这样做,那么......
嗯,这是令人沮丧的循环。 如果我告诉应用程序它依赖于指令,我会得到循环依赖。 如果我不这样做,Angular不知道该指令,并且标签被忽略。
没有从AngularAMD再现整个控制器解析机制,我有没有办法做到这一点?
我认为可能有两种情况:
1)您的指令是独立的,实际上并不依赖于应用程序中的任何内容。
在这种情况下,您可以将它放入自己的模块中(包括RequireJS和angular):
// my-directive.js
var module = angular.module('my-directive', []);
module.directive('myDirective', [
...
]);
// app.js (depends on my-directive.js)
var app = angular.module('myapp', ['my-directive']);
AngularAMD支持此用例,请参阅第三方AngularJS模块 。
2)您的指令取决于您的应用程序内的内容。 在这种情况下 - 将它放入同一模块中(同样在角度和RequireJS方面)。
// app.js
var app = angular.module('myapp', []);
app.directive('myDirective', [
...
]);
3)[更新]另一个解决方案:AngularAMD还支持定义和加载应用程序范围模块的特殊情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.