角度模块使用modernizr多重依赖

时间:2015-04-07 10:25:31

标签: angularjs modernizr

我正在使用' Modernizr'用于检测移动设备。我创建了' touchevent.js'移动设备的文件

在touchevent.js

`var touchApp = angular.module('ngTouchEvent', [])

在script.js

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

现在我想在使用modernizr的移动设备中加载touchevent.js。 我正在使用

  

Modernizr.load(' touchevent.js&#39);

我面临像

这样的问题
  

[$ injector:modulerr]无法实例化模块myApp

不是移动设备。

我不想在桌面上加载touchevent.js.Can我有多重依赖的解决方案

2 个答案:

答案 0 :(得分:0)

您可以查看这个项目,它提供了一个基础项目,用于使用带有RequireJS的AngularJS来按需加载所需的js文件。

https://github.com/tnajdek/angular-requirejs-seed

如果您的应用程序非常庞大,那么它可能会很有用,否则它可能会过度,因为使用AngularJS会减少要编写的代码量。

希望它会有所帮助

答案 1 :(得分:0)

实际上,Modernizr是一个javascript对象,您可以直接在任何角度控制器或指令中使用,而无需指定对角度应用程序的任何依赖性。您可以创建这样的提供程序,以在控制器或指令中使用Modernizr,如下所示:

angular.module('myApp').provider('Modernizr', function() {
    this.$get = function() {
        return Modernizr || {};
    };
});

Modernizr.mq()