Angular $从控制器中查看服务对象并读取属性

时间:2014-12-06 12:06:43

标签: angularjs object service controller watch

我一直试图从控制器上观看服务对象。我一直试图以一种很好的方式解决这个问题,但这是不可能的。我能找到的唯一解决方案就是这个(见代码)。事情就是我" console.log"返回的值,我可以看到对象,但我无法访问属性。它说" undefined"。所以我能找到的唯一解决方案就是这个,但我不太喜欢它。任何想法???

这是我的观察者"我的控制员:

$scope.$watchCollection(function(){return angular.toJson(measuresServ.getFinalMeasuresVal())},function(newVal, oldVal) {
    $scope.measures = JSON.parse(newVal);
    console.log($scope.measures);
    console.log($scope.measures.temperatura);
});

这是我服务的对象:

var finalMeasures = {};

return {
    getMeasures : function(){
        finalMeasures.temperatura = 24;
        finalMeasures.humedad = 45;
    },
    getMeasuresVal: function(){
        return finalMeasures;
    }

}

1 个答案:

答案 0 :(得分:0)

我认为它应该有效:

$scope.$watch(function () { 
    return measuresServ.getFinalMeasuresVal();
}, function (newVal, oldVal) {
    console.log(newVal);
}, true);