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

时间:2019-03-24 14:20:02

标签: javascript angularjs angularjs-service

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

尝试注入我在应用模块中创建的服务。 该服务具有获取/设置功能。 我创建了名为SharedProperties的服务。 “未知”说,无法从我的应用程序中的任何组件进行访问。为什么?

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

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

我该怎么办? 我尝试将其注入大量地方,但仍然无法正常工作。 非常感谢。

1 个答案:

答案 0 :(得分:0)

以下是您的代码的有效 DEMO

您的共享服务是正确的,但是请确保正确初始化控制器,并在其中正确注入$http$scope(请参阅$scope$timeout的用法服务已插入到我的演示中。