0
所以我有一個使用ui-router的角度應用程序。我有使用資源獲取數據的決心。如何等待來自資源的實際數據
app.config.js
resolve: {
data: function ($resource) {
var dataObj= $resource('/api/area/162');
return dataObj.get({},function(result){
return result;
});
}
}
我的控制器內調用的組件
...
var $ctrl = this;
console.log("data", $ctrl);
...
現在我知道,在等待數據的角度受讓人空值返回一個對象。這反過來導致組件的執行,並且我在組件控制器中結束了空數據。現在怎麼給力的角度,以等待來自服務器的數據,執行控制器
前,當我嘗試
resolve: {
data: function ($http) {
return $http.get('/api/area/162').then(function(response) {
return response.data;
});
}
}
一切工作正常,之前的數據被取出的觀點並沒有加載,我可以看到數據在我的控制器中。我如何使用資源實現相同的結果?
我也曾嘗試:
app.config.js
resolve: {
data: function (Data, $stateParams, $http, $resource) {
var object = $resource('/api/area/162');
return object.get().$promise.then(function(result){
return result;
});
}
}
這會返回一個錯誤:關於類似問題
stateService.ts:526 TypeError: Cannot read property 'then' of undefined
at data (app.config.js:81)
at resolvable.ts:120
at angular.js:17051
at m.$digest (angular.js:18233)
at angular.js:18462
at e (angular.js:6362)
at angular.js:6642
我已經閱讀了大部分問題在計算器上以及一些文章,包括
https://www.jvandemo.com/how-to-resolve-angularjs-resources-with-ui-router/
通過在控制器內部的數據上添加$ watch,我可以在數據到達時做些事情,但是我認爲這是錯誤的,不應該這樣做 –