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;
    };

})

そして、これはプロバイダーを使用する私のアプリです:

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 の 3 つの関数は単独で正常に動作していますが、追加するMyModuleProvider.setBaseUrl("http://localhost:8080/");と次のエラーが返されます。

モジュール myApp のインスタンス化に失敗しました: TypeError: MyModuleProvider.setBaseUrl は関数ではありません

なんで?プロバイダー コードに何か問題がありますか?

4

0 に答える 0