如何將服務中的值傳遞給控制器?我一直在閱讀有關這個問題的stackoverflow問題,並沒有任何解決方案似乎解決了我的問題。我試圖用tabletop.js訪問谷歌的電子表格時,我從服務CONSOLE.LOG不過,我可以看到的值,當我嘗試從控制器我收到以下錯誤訪問電子表格值:chartService.getProperty不是一個函數如何在服務和控制器之間傳遞值
獲取電子表格URL的代碼工作正常。用get方法。不知道我在這裏做錯了什麼。
控制器
angular.module('myapp')
.controller('piechartCtrl', function (chartService, $scope, config) {
$scope.values = chartService.getProperty();
});
Service.js
angular.module('myapp')
.service('chartService', function(){
return {
getUrl: function init(path) {
Tabletop.init({ key: path,
callback: showInfo,
simpleSheet: true })
}
}
function showInfo(data, tabletop) {
return{
getProperty: function(){
return data
},
setProperty: function(value){
data = value;
}
}
}
});
你還沒有在你從'chartService'返回的對象字面上定義'getProperty'方法嗎?你在'Tabletop.init'方法中指定了一個'callback'參數,這讓我認爲你無法返回它,它可能會返回一個承諾或其他東西。 –
檢查這個答案[這裏](http://stackoverflow.com/questions/34681319/how-to-setup-service-to-pass-google-sheet-ids-angularjs/34792979#34792979) – puemos