0

我正在尝试使用应允许自定义配置的提供程序来配置我的模块。这是我的提供者:

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 代码有问题吗?

4

0 回答 0