我想共享控制器和函数之间的变量。但我得到一个错误从控制器,这样说:Angular:无法使用服务访问控制器中的变量
TypeError: Cannot read property 'getSet' of undefined
我已经经历了许多教程了,但不知道我该怎么错在何处。 我的服务代码是这样的:
app.service('shareData', function() {
var selected = ["plz", "print", "something"];
var putSet = function(set) {
selected = set;
};
var getSet = function() {
return selected;
};
return {
putSet: putSet,
getSet: getSet
};
});
我能够从我这样定义功能达到selected
:
setDisplay = function($scope, $mdDialog, shareData) {
console.log(shareData.getSet()); // this is working
$scope.selected = shareData.getSet();
$scope.hide = function() {
$mdDialog.hide();
};
$scope.cancel = function() {
$mdDialog.cancel();
};
$scope.answer = function(answer) {
$mdDialog.hide(answer);
};
};
我的控制器是这样的:
app.controller('topicController', ['$scope', '$http', '$mdDialog', 'shareData',
function ($scope, $http, $mdDialog, $mdToast, shareData) {
console.log(shareData.getSet()); // NOT WORKING
}]);
非常感谢!你节省了我宝贵的时间!但我没有得到确切的原因,为什么我无法访问它,并删除$ mdToast做了神奇 –
@jAYANTYADAV我更新了我的答案,详细解释..我认为它会帮助你。谢谢:) –
再次感谢!顺便说一句,什么是DI阵列?我的意思是完整形式。 –