加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS中的编码风格

发布时间:2020-12-17 06:50:29 所属栏目:安全 来源:网络整理
导读:虽然这个 thread总结了以下三种代码样式: 1) angular.module('mainCtrl',[]);function MainCrl($scope,$rootScope) {} 2) angular.module('mainCtrl',[]).controller('MainCtrl',function($scope,$rootScope)) { ... }); 3) angular.module('mainCtrl',['$s
虽然这个 thread总结了以下三种代码样式:

1)

angular.module('mainCtrl',[]);
function MainCrl($scope,$rootScope) {}

2)

angular.module('mainCtrl',[])
.controller('MainCtrl',function($scope,$rootScope)) { ... });

3)

angular.module('mainCtrl',['$scope','$rootScope',function(scope,rootScope)) { ... }]);

还有第四种方式我见过in this video对我很有吸引力

4)

var controllers = {}
controllers.mainCtrl = function($scope,$rootScope){ };
app.controller(controllers)

我倾向于继续4),如果缩小它会破裂还是有任何其他缺点?我应该选择3)因为它似乎是标准的做法吗?

解决方法

>选项1污染全局命名空间并阻碍缩小并且不尊重模块.
>选项2不允许您在控制器签名中重命名注射器.
>选项4污染全局命名空间,但如果你正确地执行它,它是最小化的1.
>选项3允许您重命名您的injectables2,尊重模块,不污染全局命名空间,并且在缩小时不需要任何额外的工作.

所以我的赢家是选项#3.

1选项4 – 缩小版本:

var controllers = {};
controllers.mainCtrl = ['$scope',$rootScope){ ... }];
app.controller(controllers);

2重命名注射剂:

app.controller('MyCtrl','UserService',User){ ... }]);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读