javascript - 将jquery和下划线注入(inject)angular js组件

标签 javascript jquery angularjs underscore.js

我在我的新服务中使用了 angularjs、underscore 和 jQuery:

myModule.factory('MyService', ['MyResource', function (MyResource) {
     ....
    // Here I make use of _ and $
}]);

如何将下划线或 jQuery 注入(inject)到新服务中,以便确定 _ 是下划线而 $ 是 jquery?

我正在寻找类似的东西:

myModule.factory('MyService', [ 'underscore', 'jquery','MyResource', function (_, $, MyResource) {
     ....
    // Here I want to use $ and _ and be SURE that _ is underscore and $ is jquery
}]);

最佳答案

基于@moderndegree 的方法,我实现了以下代码,我不能说它是完美的,但通过这种方式测试人员可以知道它是否具有 jQuery 依赖性,因为 $window 是太通用的对象而无法注入(inject)。

'use strict';
(function () {
    var app= angular.module('app');
    //these are just references the instance of related lib so we can inject them to the controllers/services in an angular way.
    app.factory('jQuery', [
        '$window',
        function ($window) {
            return $window.jQuery;
        }
    ]);

    app.factory('Modernizr', [
        '$window',
        function ($window) {
            return $window.Modernizr;
        }
    ]);

    app.factory('Highcharts', [
    '$window',
    function ($window) {
        return $window.Highcharts;
    }
    ]);

})();

关于javascript - 将jquery和下划线注入(inject)angular js组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17408977/

相关文章:

javascript - API 网络服务器

javascript - jquery ajax请求响应404,当发出post请求时

javascript - 日期范围选择器使用数据表

javascript - 如何通过绑定(bind) Controller 变量访问服务的属性

javascript - 从 Angular JS 中的模块更新作用域变量

javascript - 禁用 jquery 中的事件链接

javascript - 如何使用客户端脚本设置 Dojo 列表文本框的标签和值

javascript - HTML/Javascript/jquery 函数按钮在 TextArea 中的每行末尾放置逗号

Sharepoint 2010 JQuery Ajax 不工作

javascript - Angular ng-repeat 变化值