如何在angularjs中将参数传递给模块
我正在浏览angularjs示例,我发现了以下示例:如何在angularjs中将参数传递给模块,angularjs,Angularjs,我正在浏览angularjs示例,我发现了以下示例: // This is a module for cloud persistance in mongolab - https://mongolab.com angular.module('mongolab', ['ngResource']). factory('Project', function($resource) { var Project = $resource('https://api.mongolab.com/api/1/dat
// This is a module for cloud persistance in mongolab - https://mongolab.com
angular.module('mongolab', ['ngResource']).
factory('Project', function($resource) {
var Project = $resource('https://api.mongolab.com/api/1/databases' +
'/angularjs/collections/projects/:id',
{ apiKey: '4f847ad3e4b08a2eed5f3b54' }, {
update: { method: 'PUT' }
}
);
Project.prototype.update = function(cb) {
return Project.update({id: this._id.$oid},
angular.extend({}, this, {_id:undefined}), cb);
};
Project.prototype.destroy = function(cb) {
return Project.remove({id: this._id.$oid}, cb);
};
return Project;
});
我不想使用像https://api.mongolab.com/api/1/databases/angularjs/collections/projects/:id
,我希望在服务器上定义它,然后将其传递到模块中。我的问题是,如何对模块进行参数化,即如何从外部将javascript变量传递到模块?仅当您希望公开应用程序范围配置的API时,才应使用提供程序配方,该API必须在应用程序启动前进行。这通常只对行为可能需要在应用程序之间稍有不同的可重用服务感兴趣
然后您可以使用
app.config(["projectProvider", function(projectProvider){
projectProvider.resourceUrl('https://api.mongolab.com/api/1/databases' +
'/angularjs/collections/projects/:id')
}]);
也许这一个可以启发你这么做我会尝试在视图文件中定义我的配置模块,谢谢我不知道我是否正确理解你在寻找什么,但我认为你需要使用提供者而不是工厂
app.config(["projectProvider", function(projectProvider){
projectProvider.resourceUrl('https://api.mongolab.com/api/1/databases' +
'/angularjs/collections/projects/:id')
}]);