gpt4 book ai didi

angular-amd - 如何在没有路由的情况下使用 AngularAMD

转载 作者:行者123 更新时间:2023-12-04 04:29:48 25 4
gpt4 key购买 nike

我有一个 AngularAMD 应用程序,并且我有一个指令(在 RequireJS 意义上)依赖于该应用程序(它是该指令“存在”的 Angular 模块)。

如果我使用路由,并在路由 View 中使用指令,那么会有一个包含 controllerUrl 的路由,它取决于包含指令的文件。

如果我不这样做,那么...

嗯,它是令人愤怒的圆形。如果我告诉应用程序它依赖于指令,我会得到一个循环依赖。如果我不知道,Angular 不知道该指令,并且标记将被忽略。

没有从 AngularAMD 复制整个 Controller 解析机制,有没有办法我应该这样做?

最佳答案

我认为可能有两种情况:

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 支持这个用例,见 3rd Party AngularJS Modules .

2)您的指令取决于您的应用程序内部的某些内容。在这种情况下 - 将其放入同一个模块中(在角度和 RequireJS 方面也是如此)。
// app.js
var app = angular.module('myapp', []);

app.directive('myDirective', [
...
]);

3)【更新】另一种解决方案:AngularAMD还支持特殊情况定义和加载 an application wide module .

关于angular-amd - 如何在没有路由的情况下使用 AngularAMD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34937634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com