javascript - 用于创建服务和 Controller 的 Angular 语法

标签 javascript angularjs

我一直在阅读有关 Angular 的大量书籍,以学习一些最佳实践以应用到我正在处理的应用程序中。我浏览了一个讨论缩小 javascript 以及如何首选以下语法的部分:

var myApp = angular.module('myApp',[]);

myApp.controller('Controller', ['$scope', function($scope) {
  //code
}]);

但是,我也从一些人那里听说以下语法是首选:

var myApp = angular.module('myApp', []);
function ControllerOne($scope) {
 //code
}
myApp.controller('ControllerOne', ControllerOne)

我的第一个问题是,在第二个例子中,当 Controller 被注册并且一个字符串作为参数传递时,那么名为“controllerOne”的函数是否与传递第一个例子中的数组?

我的第二个问题是,最重要的方法之一是否优于其他方法,或者这是“您更喜欢什么”的情况?

现在我可以看到第二种方法如何更灵活,因为该函数不受实际 Controller 的影响并且可以重用,而第一个示例的代码是特定于该特定 Controller 的,因为它被声明为阵列。这是正确的吗?

最佳答案

  1. 将 Controller 名称注册为字符串对缩小没有影响。传递你的依赖关系确实有效果。您需要以缩小安全的方式传递它们。您还可以使用 $inject 服务来注入(inject)依赖项。

  2. 要获得编写 Angular 代码的所有最佳方法,请遵循 John Papa 的 Angular 风格指南

https://github.com/johnpapa/angular-styleguide

关于javascript - 用于创建服务和 Controller 的 Angular 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31666446/

相关文章:

javascript - 当使用 jquery inside 指令调用 Angular 方法时,Angular ng-repeat 不更新

javascript - jQuery 绑定(bind)事件的问题

javascript - 串行 promise 和响应。云代码中的成功

javascript - 在 ionic v2 中单击按钮切换段

javascript - 在 Xampp Web 服务器上设置 AngularJS 和 NodeJS

javascript - Angularjs 获取元素位置

javascript - 如何检查 char 在 JS 中是否可见?

json - angularjs + spring mvc + json post 请求

javascript - 值未以 Angular 形式传递给 Controller

AngularJS ui-router 状态不会在后面刷新