一个 Angular 控制器,将在多个应用程序中使用



所以当你用角度定义一个控制器时,你是这样做的。

angular.module('AppName').controller('ControllerName', function ($scope, $location, dataService, commonMethods) {
});

您将如何利用这一点并使相同的控制器在两个不同的应用程序中使用?

angular.module('AppName1').controller('ControllerName', function ($scope, $location, dataService, commonMethods) {
});
angular.module('AppName2').controller('ControllerName', function ($scope, $location, dataService, commonMethods) {
});

创建一个单独的模块,其中包含您在各种应用程序(控制器、服务等(之间共享的所有项目,然后将该模块注入到需要这些项目的任何应用程序中。

因此,在类似共享的内容中.js您有:

angular.module("shared")
.controller(...)
.service(...)
.constant(...)

然后,请确保在应用的模块文件之前加载共享.js文件,然后注入:

angular.module("app","shared"(

这正是模块的用途,使应用程序模块化。

angular.module('some', []).controller('SomeController', ...);
...
angular.module('app1', ['some']);
...
angular.module('app2', ['some']);

如果你把你的服务、工厂、指令等。 到单独的 js 文件中,每个文件都以 . 然后只需包含.js文件。

// Constants.js
.constant('Constants', {
Initialize_IntervalMilliseconds: {
defltTimeout: 50,
longTimeout: 250
}
});
// factoryGlobal.js
myTable.factory('factGlobal', function () {
return {
BaseURL: "http://localhost:6/api/", 
etc = ""
};
});

您可以将它们用于多个模块。 相当不错

最新更新