14

我正在尝试创建一个将使用多个 Angular ng-apps 的 Web 应用程序,并且至少两个可以使用相同的服务代码(它们不需要共享数据,但它们执行类似的功能),那么如何避免代码重复? 那是,

myApp1.factories.factory( 'myservice' [ function(){
   // stuff I dont want to repeat
}])

...在应用程序其他地方的不同页面上的不同 div 上:

myApp2.factories.factory( 'myservice' [ function(){
   // stuff I dont want to repeat
}])

有没有办法让这两个应用程序重用该服务代码?还是认为最好的做法是为所有 html 设置一个 ng-app(即使这些部分可能是独立的),然后使用控制器将它们分开?

谢谢

4

1 回答 1

26
angular.module('myReuseableMod', []).factory('myReusableSrvc', function() {
    // code here
});

var App1 = angular.module('myApp1', ['myReuseableMod']);
App1.controller('someCtrlr', ['$scope', 'myReusableSrvc', function($scope, myReusableSrvc) {
    // controller code
}]); // end someCtrlr

var App2 = angular.module('myApp2', ['myReuseableMod']);
App2.controller('someCtrlr', ['$scope', 'myReusableSrvc', function($scope, myReusableSrvc) {
    // controller code
}]); // end someCtrlr
于 2013-11-07T17:06:18.250 回答