我正在尝试使用应允许自定义配置的提供程序来配置我的模块。这是我的提供者:
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;
};
})
这是我使用 Provider 的应用程序:
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 和 setOnUauthenticated 单独工作正常,但是当我添加它时,MyModuleProvider.setBaseUrl("http://localhost:8080/");
它返回以下错误:
由于以下原因无法实例化模块 myApp:TypeError: MyModuleProvider.setBaseUrl is not a function
为什么?Provider 代码有问题吗?