AngularJS - 可重用指令和服务层

时间:2015-05-04 20:32:46

标签: angularjs reusability

我公司有一套传统的股票市场相关活动应用程序,我们正在AngularJS中重写。一个非常常见的用例是查找库存/安全性。无论应用程序如何,屏幕和api调用都是相同的。我们的目标是创建可由多个应用程序使用的指令和控制器/服务。

建议的方法是什么是组件化不仅指令(大多数在线示例是微不足道而不是数据消耗),还有用于填充该指令中数据的控制器和服务?任何指针都将非常感激。

2 个答案:

答案 0 :(得分:0)

这对我有很大帮助fundamentals

这是toc:

您的第一个指令

事件,范围和控制器

装饰指令

<强> Transclusion

结构指令

控制器和嵌套指令

指令和服务

答案 1 :(得分:0)

取决于您希望如何组织项目。

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

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

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