【发布时间】:2016-02-10 11:50:37
【问题描述】:
我有一个由模块化 angularjs 子应用程序组成的项目。 子应用程序位于相对于根应用程序文件夹的自己的文件夹中。 问题是我想通过凉亭包含一个外部模块(卫星发射器)。该模块已正确下载,并且 Bower 组件通过 gulp/wiredep 注入到 html 中。到目前为止一切顺利。
带有控制器的应用结构如下:
(function () {
'use strict';
angular
.module('foo.bar')
.filter('orderObjectBy', function () {
return function (input, attribute) {
if (!angular.isObject(input)) return input;
var array = [];
for (var objectKey in input) {
array.push(input[objectKey]);
}
array.sort(function (a, b) {
a = parseInt(a[attribute]);
b = parseInt(b[attribute]);
return a - b;
});
return array;
}
})
.controller('FoobarController', FoobarController);
FoobarController.$inject = ['logger', '$q', 'dataservice', '$stateParams', 'fooBarHandler', '$location', 'satellizer'];
/* @ngInject */
function FoobarController(logger, $q, dataservice, $stateParams, fooBarHandler, $location, $authProvider) {
var vm = this;
fooBarHandler.includeIn(vm, dataservice);
vm.authorize = authorize;
}
}
问题是 angular 一直说 satellizer 是未知提供者(未知提供者: satellizerProvider
我也尝试通过数组依赖来连接依赖,如下所示:
angular
.module('foo.bar', ['satellizer'])
.filter('orderObjectBy', function () {
return function (input, attribute) {
if (!angular.isObject(input)) return input;
var array = [];
for (var objectKey in input) {
array.push(input[objectKey]);
}
array.sort(function (a, b) {
a = parseInt(a[attribute]);
b = parseInt(b[attribute]);
return a - b;
});
return array;
}
})
但还是没有运气。
【问题讨论】:
-
试试这个
angular.module('foo.bar', ['satellizer']) -
我希望你也将 satellizer 导入到你的 html 文件中。
-
是的,我在我的 html 文件中导入了 satellizer。通过基于 bower.json 的 gulp 构建进行连接。我也尝试通过数组依赖包含 satellizer,但是 satellizer 变量未定义
-
你配置了吗?如
angular.module('foo.bar', ['satellizer']).config($authProvider){ $authProvider.provider({ })}。然后在你的控制器中使用它。喜欢$auth.authenticate(provider) -
不,我之前没有配置它,但我根据您的评论尝试了它,仍然没有运气。 $auth 变量仍未定义。
标签: angularjs