我使用npm
作为using应用程序的包管理器,并使用Browserify
来包含库。我使用的是角-google-map包:http://angular-ui.github.io/angular-google-maps
我得到了:
ReferenceError: _ is not defined
at o (vendor.js:8)
at Object.load (vendor.js:8)
at $get (vendor.js:8)
at Object.r [as invoke] (vendor.js:1)
at vendor.js:1
at i (vendor.js:1)
at Object.r [as invoke] (vendor.js:1)
at p.instance (vendor.js:2)
at m (vendor.js:2)
at a (vendor.js:1)
作为错误。
现在我是如何包含js文件的:
require('lodash');
require('angular-simple-logger');
require('angular-google-maps');
我就是这样把它们注入到angular.module中的:
var requires = [
/*What to inject here?*/
'nemLogging',
'uiGmapgoogle-maps',
];
angular.module('mapApp',requires);
在控制器中应包括哪些内容:
angular.module('mapApp').controller('mapController',
function($scope, uiGmapGoogleMapApi, /*What to pass here?*/){
});
请指导如何在这个角度应用程序中注入什么,以及将什么参数传递给我的角应用程序以消除这个错误?
发布于 2015-11-10 21:28:52
angular-google-maps
模块不使用角DI注入lodash,而是假定lodash是全局可用的。通过将其添加到window对象使其成为全局的:
window._ = require('lodash'); // this will add it to the global namespace
require('angular-simple-logger');
require('angular-google-maps');
发布于 2015-11-10 00:01:17
你要做的就是:
angular.module('mapApp', requires)
.value('_', _);
这意味着您现在可以:
angular.module('myApp').controller('mapController', function ($scope, uiGmapGoogleMapApi, _) {
});
下面是它的一个工作普朗克。可能是你做错了别的事。
https://stackoverflow.com/questions/33625209
复制相似问题