无法打印来自其他控制器的简单值

问题描述:

我有其余的api返回给定季度中的总费用。无法打印来自其他控制器的简单值

我试着创建一个应该执行请求的服务。

app.factory('ExpenseTotal', function($resource) { 
    return $resource('api/expense/quarter/:q', {q: '@q'}); 
}); 

我想在我的控制器中使用该服务。像这样:

app.controller('DashboardController', function($scope, ExpenseTotal) { 
    $scope.updateTotalExpenses = function() { 
     $scope.totalExpenses = ExpenseTotal.get({ q: $scope.selectedItem }); 
    } 
}); 

我的看法如下所示:

仪表板!
<label>Select quarter: 
    <select ng-model="selectedItem" ng-change="updateTotalExpenses()"> 
     <option value="1">1st Quarter</option> 
     <option value="2">2nd Quarter</option> 
     <option value="3">3rd Quarter</option> 
     <option value="4">4th Quarter</option> 
    </select> 
</label> 
<div>Total expenses: {{totalExpenses}}</div> 

但是这会打印的唯一的事情是:{}

任何人都得到了什么,我做错了线索?

完整的代码,可以发现在:https://github.com/tonsV2/MyBiz/

的$资源返回有一个承诺,一旦解决,你有值的对象。将您的代码更改为:

ExpenseTotal.get({ q: $scope.selectedItem }).$promise.then(function(result){ 
    $scope.totalExpenses = result; 
}); 
+0

这仍然只是打印{}。 – user672009

+0

在处理程序中添加(传递给then方法的): console.log(result); – Meir

+0

SyntaxError:意外的令牌s 在Object.parse(native)...我更新了我的问题,并附上了一个指向我的代码的链接。 – user672009