javascript - 用函数包裹的 Angular 定义 Controller 是错误的吗?

标签 javascript angularjs

我正在看一些代码,我看到它是这样写的。这对我来说没有意义。这是错的吗?为什么这样写?另外,use strict; 不应该放在代码之外的最上面吗?

(function() {
  'use strict';
  angular.module('itemList', [])
    .component('itemList', {
      templateUrl: 'item-list/item-list.component.html',
      controller: ['Item', ItemController]
  });

  function ItemController(Item) {
    //code
  }
}());

最佳答案

它被包裹在 IIFE 中的原因 是保持所有声明,如 "use strict",函数和变量局部于包含在范围内的范围,而不是在全局 namespace 中设置

如果 "use strict" 被设置为全局,它会影响其他我不遵守的不相关代码,从而导致抛出意外错误

Is it wrong to define controller in...

没有。这是一个最佳实践

关于javascript - 用函数包裹的 Angular 定义 Controller 是错误的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38481357/

相关文章:

javascript - .click() 只影响一个具有类的元素

javascript - 防止 Angular 2 中的内存泄漏?

javascript - 如果从另一个目录加载 Angular 2 模块(Fuel-ui)则不起作用

javascript 逻辑运算符 && 不起作用

javascript - 如何验证可编辑的输入框

javascript - [Vue 警告] : Error in created hook: "TypeError: Cannot set property of undefined"

javascript - 如何将 momentjs 添加到缩小的 bundle 文件中?

javascript - ES6 数组解构怪异

javascript - 在 jQuery 中查找最近的类和 slideDown

javascript - 强制 Protractor 的 onPrepare 等待异步 http 请求