![](/img/trans.png)
[英]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.