我想在不同组件(它们中的不同控制器)之间共享特定属性。
尝试注入我在应用模块中创建的服务。 该服务具有获取/设置功能。 我创建了名为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
我该怎么办? 我尝试将其注入大量地方,但仍然无法正常工作。 非常感谢。
答案 0 :(得分:0)
以下是您的代码的有效 DEMO 。
您的共享服务是正确的,但是请确保正确初始化控制器,并在其中正确注入$http
和$scope
(请参阅$scope
和$timeout
的用法服务已插入到我的演示中。