您好我为同一个ng-app示例创建了两个angulerjs文件。
admin.js
var app = angular.module('arcadminmodule', ['ngTable', 'ui-notification']);
app.controller('ArcAdminController', ['$http', '$scope', '$filter', '$interval', 'ngTableParams', 'Notification', function($http, $scope, $filter, $interval, ngTableParams, Notification) {});
admin1.js
var app = angular.module('arcadminmodule');
app.controller('ArcAdminController', ['$http', '$scope', '$filter', '$interval', 'ngTableParams', 'Notification', function($http, $scope, $filter, $interval, ngTableParams, Notification) {});
但是它来自admin1.js的重写admin.js
请帮帮我....
答案 0 :(得分:0)
撰写时在admin1.js中:
var app = angular.module('arcadminmodule');
您没有创建新模块。您正在尝试获取名为' arcadminmodule'的现有模块。如果您要创建新模块,则必须编写如下内容:
var app = angular.module('arcadminmodule',[]); // add your depencencies...
现在,在您的情况下,在admin.js中您正在创建模块和admin1,您正在使用相同的模块。在角度中,您不能有两个具有相同名称的控制器。控制器适用于(来自文档):
因此,如果您需要尝试应用某些角色或某些业务逻辑,则需要进入一个控制器。 确保您的控制器仅包含单个视图所需的业务逻辑。
答案 1 :(得分:0)
我认为不需要在两个地方使用相同的控制器。但是你可以在地方使用服务。如果你需要做一些与ArcAdminController不同的思考,请使用这个结构。
服务 -service1.js
(function (angular) {
angular.module('marineControllers').service('boatService', function (ajaxService) {
}
)

-service2.js -module..js
var artistControllers = angular.module('marineControllers',['ngAnimate']);

控制器 -controller1
(function (angular) {
angular.module('marineControllers').controller("BoatController", ['$scope', '$http', '$routeParams',
'dashboardService', '$filter', 'loginService', '$location', 'boatService', 'autocompleteFactory', 'utilityFactory',
function ($scope, $http, $routeParams, dashboardService, $filter, loginService, $location, boatService, autocompleteFactory, utilityFactory) {
function loadAllFishingBoat() {
$scope.boatsTable.length = 0;
if (!$scope.$$phase)
$scope.$apply();
boatService.getAllBoatAndDevice().then(function (data) {
$scope.boatsTable = data;
if (!$scope.$$phase)
$scope.$apply();
});
};
}]);
})(angular);

-controller2
(function (angular) {
angular.module('marineControllers').controller("DeviceController", ['$scope', '$http', '$routeParams',
'dashboardService', '$filter', 'loginService', '$location', 'deviceService', 'autocompleteFactory', 'utilityFactory','commonDataService',
function ($scope, $http, $routeParams, dashboardService, $filter, loginService, $location, deviceService, autocompleteFactory, utilityFactory,commonDataService) {
function loadAllFishingBoat() {
$scope.boatsTable.length = 0;
if (!$scope.$$phase)
$scope.$apply();
boatService.getAllBoatAndDevice().then(function (data) {
$scope.boatsTable = data;
if (!$scope.$$phase)
$scope.$apply();
});
};
}]);
})(angular);

我在两个控制器中都使用过很多服务,但它们仍然是不同的逻辑。