angularjs 1.5在组件中注入服务 - 未知提供程序错误

问题描述 投票:0回答:1

我想在不同的组件之间共享一个特定的属性(它们中的不同控制器)。

尝试注入我在app模块中创建的服务。该服务具有get / set功能。我创建了名为SharedProperties的服务。它不能从我的应用程序中的任何组件访问,“Uknown”说。为什么?

这就是我的应用程序的定义方式,这是非常简单的服务。

mapotApp = angular
.module('mapotApp', [])
.service('sharedProperties', function () {
        var property = 'test';
        return {
            getProperty: function () {
                return property;
            },
            setProperty: function(value) {
                property = value;
            }
        };
    });

然后在我的组件中:

angular.module('aboutPage').component('aboutPage', {
    templateUrl: 'app/about-page/about-page.html',
    controller: ['sharedProperties', function AboutPageController($http, $scope, sharedProperties) {
    var self= this;

            //inherting global variable

        self.prop = sharedProperties.getProperty(); //UNKOWN PROVIDER ERROR HERE


    }]

});

返回:

Error: [$injector:unpr] Unknown provider: sharedPropertiesProvider <- sharedProperties

我能做什么?我尝试在很多地方注射它仍然无法正常工作。非常感谢。

javascript angularjs angularjs-service
1个回答
0
投票

这是与你的代码一起工作的DEMO

您的可共享服务是正确的,但请确保正确初始化您的控制器,并正确注入$http$scope(请参阅我的演示中如何注入$scope$timeout服务)。

© www.soinside.com 2019 - 2024. All rights reserved.