我正在尝试使用应该允许自定义配置的Provider配置我的模块。这是我的提供者:
var module = angular.module('myModule', []);
module.provider('MyModule', function () {
this.setBaseUrl = function (f) {
this.BaseUrl = f;
};
this.setOnForbidden = function (f) {
this.onForbidden = f;
};
this.setOnTokenExpired = function (f) {
this.onTokenExpired = f;
};
this.setOnUnauthenticated = function (f) {
this.onUnauthenticated = f;
};
this.$get = function () {
return this;
};
})
这是我使用提供商的应用程序:
angular.module('myApp', ['myModule'])
.config(function (MyModuleProvider) {
MyModuleProvider.setBaseUrl("http://localhost:8080/");
MyModuleProvider.setOnForbidden(
function () {
console.log("Forbidden - User Function");
}
);
MyModuleProvider.setOnTokenExpired(
function () {
console.log("Token Expired - User Function");
}
);
MyModuleProvider.setOnUnauthenticated(
function () {
console.log("User Unauthenticated, wrong username or password - User Function");
}
);
})
setOnForbidden,setOnTokenExpired和setOnUnauthenticated三个函数单独工作正常,但是当我添加MyModuleProvider.setBaseUrl("http://localhost:8080/");
时,它返回以下错误:
由于以下原因导致无法实例化myApp模块: TypeError:MyModuleProvider.setBaseUrl不是函数
为什么呢?提供者代码中有什么问题吗?