簡體   English   中英

angularjs 1.5在組件中注入服務 - 未知的提供程序錯誤

[英]angularjs 1.5 injecting service in a component - uknown provider error

我想在不同的組件之間共享一個特定的屬性 (它們中的不同控制器)。

嘗試注入我在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

我能做什么? 我嘗試在很多地方注射它仍然無法正常工作。 非常感謝。

這是您的代碼的工作DEMO

您的可共享服務是正確的,但請確保正確初始化您的控制器,並正確地在其中注入$http$scope (請參閱我的演示中如何注入$scope$timeout服務)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM