angular.module('voteApp').factory('VoteFty', function (VoteRsc, VoteStatisticRsc) {
var data = {
vote: {}
};
var view = function () {
VoteStatisticRsc.get({id: 1}, function (resp) {
data.vote = resp;
})
};
var vote = function (params) {
VoteRsc.update({id: 1, index: params}, function (resp) {
alert('ok!');
})
};
view();
return {
data: data,
vote: vote,
view: view
}
});
angular.module('voteApp').controller('VoteCtrl', function ($scope, VoteFty) {
console.log(VoteFty.data); // Object{vote:..}
console.log(VoteFty.data.vote); // Object{}
}
在控制台VoteFty.data显示中,它具有投票属性,其值绝对正确,但是VoteFty.data.vote为null,这确实很奇怪。
为什么VoteFty.data.vote为null?我真的听不懂,请帮我弄清楚,谢谢!
最佳答案
您可以像这样使用工厂:
angular.module('voteApp').factory( 'VoteFty', function () {
var factory = {};
var privateVar = 'something';
factory.data = function(){
//some code here like return private var ect
return privateVar;
};
return factory;
});
然后您可以使用VoteFty.data();
关于javascript - AngularJS:为什么 Controller 无法从服务访问对象属性?我真的很困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31559001/