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

在Angular控制器中使用下划线

岳炎彬
2023-03-14
问题内容

如何在angularjs控制器中使用下划线库?

关于此帖子:AngularJSlimitTo的最后2条记录建议有人为rootScope分配一个_变量,以便该库可用于应用程序中的所有范围。

但我不清楚该在哪里做。我的意思是应该在应用程序模块声明中继续吗?即:

var myapp = angular.module('offersApp', [])
            .config(['$rootScope', function($rootScope) { }

但是,我该在哪里加载下划线lib?我的索引页面上只有ng-app指令和对angular-js和下划线库的脚本引用吗?

index.html

<head>
</head>
<body ng-app="offersApp">
...
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="scripts/vendor/angular.js"></script>
<script src="scripts/vendor/underscore.js"></script>
...

我该如何实现?


问题答案:

当您包含Underscore时,它会将自己附加到window对象上,因此在全局范围内都可用。

因此,您可以按原样从Angular代码使用它。

如果希望将其注入,也可以将其包装在服务或工厂中:

var underscore = angular.module('underscore', []);
underscore.factory('_', ['$window', function($window) {
  return $window._; // assumes underscore has already been loaded on the page
}]);

然后,您可以_应用程序的模块中请求

// Declare it as a dependency of your module
var app = angular.module('app', ['underscore']);

// And then inject it where you need it
app.controller('Ctrl', function($scope, _) {
  // do stuff
});


 类似资料:
  • 问题内容: 在Vojta Jina的优秀存储库中,他在其中演示了指令的测试,他在模块包装器之外定义了指令控制器。看到这里:https : //github.com/vojtajina/ng- directive-testing/blob/master/js/tabs.js 这不是不好的做法并且会污染全局名称空间吗? 如果在另一个地方可以合理地调用TabsController,那会不会很麻烦? 可以

  • 问题内容: 这些PHP代码行中的双下划线是什么意思? 问题答案: 看起来您正在使用Wordpress- 将__定义为转换字符串的函数(类似于及其别名,但具有用于显式指定域的可选参数)。

  • 问题内容: 我想使用Redis功能,例如MVC控制器中的位字段和哈希字段。我知道ASP.NET核心中内置了缓存支持,但这仅支持基本的GET和SET命令,而不支持我的应用程序中所需的命令。我知道如何从普通(例如控制台)应用程序中使用StackExchange.Redis,但是我不确定如何在ASP站点中进行设置。 我应该将所有连接初始化代码放在哪里,以便以后可以从控制器访问它?这是我将使用依赖项注入的

  • 本文向大家介绍简述angular自定义过滤器在页面和控制器中的使用,包括了简述angular自定义过滤器在页面和控制器中的使用的使用技巧和注意事项,需要的朋友参考一下 AngularJS另一个特点就是提供了过滤器,可以通过操作UNIX下管道的方式,操作数据结果。   通过使用管道,可以便于双向的数据绑定中视图的展现。   过滤器在处理过程中,将数据变成新的格式,而且可以使用管道这种链式风格,还能接

  • 问题内容: 我写了一个过滤器函数,它将根据您传递的参数返回数据。我希望控制器具有相同的功能。是否可以在控制器中重用过滤器功能? 到目前为止,这是我尝试过的: 问题答案: 将 $ filter 注入控制器 然后,无论您想在哪里使用该过滤器,都可以像这样使用它: 如果要将参数传递给该过滤器,请使用单独的括号进行处理: 您要过滤的数组在哪里,并且是用于过滤的对象。

  • 问题内容: 如何在angularJS控制器(而不是angularJS内置的$ http)中使用jQuery的$ .ajax()函数,以便以后可以从视图/模板访问$ scope值? 我有这个有点简约的angularJS控制器: 并且在视图中类似: 但是,视图中的加载时将为空,尽管控制器中的a告诉我$ scope.user随便填充。 现在,如果我将呼叫替换为一切正常,则可以正常工作。 我知道这是内置的