如何将AngularJS指令连接到两个不同的项目中?

时间:2018-12-11 03:59:02

标签: angularjs angularjs-directive angularjs-module

我正在搜索专门针对此的教程,但似乎找不到它,所以也许我错过了它:

如果我声明一个模块,另存为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 模块不可用

如果有帮助。.

1 个答案:

答案 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”]);

希望这就是您想要的...