Vic*_*tor 9 requirejs angularjs
我在另一个模块的一个模块中调用工厂时遇到问题.我正在使用angular.js + require.js.这是我的代码模块1:
define(['angular', 'app/admin/app.admin', 'app/admin/account/services'], function (angular, app, services) {
app.controller('MainCtrl', ['$scope', 'providerService', function ($scope, providerService) {
$scope.showMe = false;
$scope.provider = providerService.Providers;
}]);
return app;
});
Run Code Online (Sandbox Code Playgroud)
第2单元
define(['angular', 'app/admin/config/index'], function (angular) {
'use strict';
var service = angular.module('app.admin.account.services', []);
service.factory('providerService', ['app.admin.config',
function (config) {
var providers = [
{ name: 'google+', url: config.AUTH_URL + '/google' },
{ name: 'facebook', url: config.AUTH_URL + '/facebook' }
];
return {
Providers: providers
};
}
]);
return service;
});
Run Code Online (Sandbox Code Playgroud)
当我尝试从模块1调用模块2中的providerService时,我收到一个错误,说ProviderService不存在.谁能告诉我这里做错了什么?
干杯
Bre*_*tin 16
将RequireJS和AngularJS结合使用是完全可以的,但是术语"模块"在两者之间有不同的含义,并且在涉及依赖时有点令人困惑.
在RequireJS中,"模块"是封装一段代码的典型Javascript文件.您可以使用RequireJS定义依赖项,以便将其他模块作为依赖项传入/周围,并确保正确的脚本加载顺序.
在AngularJS中,术语"模块"具体是指AngularJS"模块",它是许多控制器/服务/指令等声明的容器.
您可以使用RequireJS来定义脚本文件的顺序和依赖关系.然后,您还需要告诉Angular您的模块所依赖的"Angular模块",实质上是导入所有控制器/服务/指令.
在' app/admin/app.admin '中,确保通过将' app.admin.account.services '模块作为第二个参数传递来定义AngularJS模块的依赖项,例如
var app = angular.module('app.admin', ['app.admin.account.services']);
Run Code Online (Sandbox Code Playgroud)
然后,将' app.admin.account.services '模块导入到您的主模块中,使您providerService可以进行依赖注入.
| 归档时间: |
|
| 查看次数: |
17163 次 |
| 最近记录: |