我正在搜索专门针对此的教程,但似乎找不到它,所以也许我错过了它:
如果我声明一个模块,另存为myproject.js
var myProject = angular.module('myProject',[]);
稍后我添加了一条指令,另存为domchanger.directive.js
myProject.directive('domchanger', function (){});
但是现在,我有一个新项目,另存为newproject.js
var newProject = angular.module('newProject', []);
但是,如果我尝试添加domchanger,则将其插入myProject。
确定我不需要将myProject更改为newProject来保存整个版本吗?
我敢肯定,我已经以某种方式看到了对指令进行某种处理以使其通用的地方,因此可以在任何模块上使用它。大多数在线文档似乎都跳过了这一步,甚至没有实现。
我该怎么做才能允许domchanger.directive.js为newProject即插即用?
编辑:根据简化非工作代码的请求
var myProject = angular.module('myProject', []);
myProject.controller('projectControl', ['$scope', function ($scope) {
$scope.Test = "hello";
}]);
myProject.directive('projectDirective', function () {
});
var newProject = angular.module('newProject', ['projectControl',
'projectDirective']);
这给了我
由于以下原因,无法实例化模块newProject: 错误:$ injector:nomod 模块不可用
如果有帮助。.
答案 0 :(得分:1)
如果这是您的“ domchanger.directive.js”的样子……
var app = angular.module("myDirective", []);
app.directive("testDirective", function() {
//...
});
app.controller('testController',function($scope){
//...
});
此即插即用(可注射模块)可以在您的项目中调用,例如...
var app = angular.module("myProject", ["myDirective"]);
或 var app = angular.module(“ newProject”,[“ myDirective”]);
希望这就是您想要的...