从angularjs中的服务访问数据

时间:2015-11-30 09:28:28

标签: javascript angularjs

我有一个服务,我通过点击什么效果很好的传递一些数据,但现在我想从服务中提取数据并将其添加到另一个控制器的范围内,只需记录每次有$ watch功能添加的内容

我的服务:

app.service('infoService', function() {
    var currentInfo = [];
    return this.method = function(data){
        return currentInfo = data;
    };
});

我试图提取数据

app.controller('clickController', function($scope, infoService) {
    $scope.data = infoService.method();
    $scope.$watch('data', function(newVal, oldVal) {
        console.log(newVal, oldVal);
    });
});

我目前唯一看到的最后一小时是错误和错误。

2 个答案:

答案 0 :(得分:1)

您可以从服务中删除return语句

[29-Nov-2015 12:01:14 UTC] PHP Warning:  getimagesize(http://hardal.com/wp-content/uploads/2015/11/glogo.png): failed to open stream: HTTP request failed!  in /home/hardal/public_html/wp-content/themes/hardal/header.php on line 36
[29-Nov-2015 12:01:14 UTC] PHP Warning:  getimagesize(http://hardal.com/wp-content/uploads/2015/11/glogo21.png): failed to open stream: HTTP request failed!  in /home/hardal/public_html/wp-content/themes/hardal/functions/theme-actions.php on line 38

然后你应该可以在你的服务中调用函数

希望这会有所帮助。

答案 1 :(得分:1)

尝试将监视放在服务的返回值上,如下所示:

$scope.$watch(function () { return infoService.method(); }, function(newVal, oldVal) {
        console.log(newVal, oldVal);
    });