【问题标题】:AngularJS - Reusable directive and service layerAngularJS - 可重用的指令和服务层
【发布时间】:2015-07-14 09:20:44
【问题描述】:

我的公司有一套用于股票市场相关活动的遗留应用程序,我们正在用 AngularJS 重写这些应用程序。一个非常常见的用例是查找股票/证券。无论应用程序如何,屏幕和 api 调用都是相同的。我们的目标是创建可以被多个应用程序使用的指令和控制器/服务。

对于指令(大多数在线示例都是微不足道的且不消耗数据的)以及用于在该指令中填充数据的控制器和服务组件化的推荐方法是什么?任何指针将不胜感激。

【问题讨论】:

    标签: angularjs reusability


    【解决方案1】:

    取决于您喜欢如何组织您的项目。

    假设应用程序要扩展到一个合理大小的项目,您可能会将控制器/指令/服务分组到功能模块中。

    所以定义一个模块,并设置一个基本控制器。因此,我建议为指令/控制器/服务单独文件,并将它们附加到功能模块

    angular.module('feature',[])
    
    // file in controllers section
    
    .controller('feature.BaseController', function() {
    
    });
    
    //// file in controllers section
    
    .controller('feature.UtilityController', function() {
    
    
    });
    
    //// file in services section
    
    angular.module('feature')
    
    .service('feature.someService', function() {
    
    
    });
    
    //// file in directives section
    
    angular.module('feature')
    
    .directive('feature.someDirective',function(feature.someService) {
    
    return {
        restrict: ////
        controller:'feature.UtilityController',
        /////
        ///// etc
    }
    
    });
    

    对于项目组织,我认为基于功能的方法在项目规模扩大时效果非常好,并且当您处理特定模块时,将控制器/指令/服务分离到每个功能中可以使您的代码保持整洁和有条理。

    我也强烈推荐这个pluralsight course by John Papa

    【讨论】:

      【解决方案2】:

      这对我有很大帮助fundamentals

      这是目录:

      您的第一个指令

      事件、范围和控制器

      装饰器指令

      嵌入

      结构指令

      控制器和嵌套指令

      指令和服务

      【讨论】:

      • 可以作为评论添加
      • 为什么作者在指令上寻找资源,所以我给了他我认为最好的东西
      • 那么你应该解释它的内容之一..否则人们会否决它..请这样做
      猜你喜欢
      • 2013-05-26
      • 2015-06-15
      • 2015-03-07
      • 2014-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-17
      • 2015-05-05
      相关资源
      最近更新 更多