当前位置: 首页 > 面试题库 >

AngularJS Strict DI模式有什么好处?

子车轶
2023-03-14
问题内容

最近,我遇到了AngularJS Strict DI模式。使用它的目的和好处是什么?通过特别在移动设备上使用它,我们是否可以显着提高性能?

我尝试将其应用于代码,编写代码时未做任何注释。但是,我要压缩代码,并在构建过程中进行ng-
annotate。但是,为什么在将严格的DI模式添加到代码中后,仍然出现错误消息“需要显式注释”?


问题答案:

严格的DI模式基本上在运行时发现不符合最小化要求的代码时引发错误;但请注意,该代码可能是正确的,并且没有逻辑语法错误。

引用文档:

如果该属性存在于app元素上,则将以“ strict-di”模式创建注射器。这意味着应用程序将无法调用 不使用显式函数注释 (因此不适合缩小)的
函数 (如“依赖关系注入”指南中所述),并且有用的调试信息将有助于跟踪这些错误的根源。

例如,此代码触发错误,因为($scope, $http, $filter)没有使用数组$inject.controller(A,B)将数组作为第二字段的方法显式注入。

angular.module("myApp", [])
// BadController cannot be invoked, because
// the dependencies to be injected are not
// explicitly listed.
.controller("BadController", function($scope, $http, $filter) {
  // ...
});

右代码段:

angular.module("myApp", [])
  .controller("GoodController1", GoodController1);

GoodController1.$inject = ["$scope", "$http", "$filter"];

function GoodController1($scope, $http, $filter){}

要么:

angular.module("myApp", [])
  .controller("GoodController1", 
              ["$scope", "$http", "$filter", function ($scope, $http, $filter){
     //...
}]);

为了回答您的问题,使用它不会显着提高性能。它仅授予您最小化错误的安全性。这是因为最小化会更改变量名称,例如在您$scope不使用显式批注的情况下使用它会破坏代码。



 类似资料:
  • 问题内容: 该单例模式是一个缴足成员四人帮的模式书,但最近似乎而是由开发者世界孤立。我仍然使用很多单例,尤其是对于工厂类,尽管您必须对多线程问题(实际上是任何类)有所注意,但我看不出它们为什么如此糟糕。 堆栈溢出似乎特别假设每个人都同意Singletons是邪恶的。为什么? 请以“ 事实,参考或特定专业知识 ” 支持您的回答 问题答案: 布赖恩·巴顿(Brian Button)的释义: 它们通常用

  • 本文向大家介绍如何开启调试模式?调试模式有什么好处?相关面试题,主要包含被问及如何开启调试模式?调试模式有什么好处?时的应答技巧和注意事项,需要的朋友参考一下 开启调试模式很简单,只需要在入口文件中增加一行常量定义代码: // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define(‘APP_DEBUG’, true); 调试模式的优势在于: 开启日志记录,任何错误信息和调试

  • 本文向大家介绍python 什么是lambda表达式?它有什么好处?相关面试题,主要包含被问及python 什么是lambda表达式?它有什么好处?时的应答技巧和注意事项,需要的朋友参考一下 简单来说,lambda表达式通常是当你需要使用一个函数,但是又不想费脑命名一个函数的时候使用,也就是通常所说的匿名函数

  • 问题内容: 我是Java开发人员,我想知道如何在Java程序中使用Scala? 问题答案: 去阅读 Daniel Spiewak 关于Scala 的优秀博客系列。使用Scala,您可以保持: 您所有的Java库 在JVM上运行的所有优势(普遍性,管理工具,性能分析,垃圾回收等) 但是您可以编写Scala代码: 比Java更简洁明了(尤其是使用更多的 功能 样式,例如在collections库中)

  • 我有以下微服务架构的用例。 我的问题是,在当前情况下,我有3个微服务和一个APIGateway。 最后,网关必须在聚合(合成)来自3个服务的数据之前进行大量查询。因为3个微服务只提供基本的数据集。 请查看图片了解更多详情! 这是一个好的模式吗?还有其他模式吗?

  • 本文向大家介绍为什么要设计 后缀表达式,有什么好处?相关面试题,主要包含被问及为什么要设计 后缀表达式,有什么好处?时的应答技巧和注意事项,需要的朋友参考一下 考察点:逆波兰表达式   后缀表达式又叫逆波兰表达式,逆波兰记法不需要括号来标识操作符的优先级。