我做了3個視圖並將它們鏈接到單個控制器。在我的控制器中,我打電話給一個我做過的服務,它可以進行網絡調用,並獲取一些我應該在前端顯示的數據。麻煩的是,儘管我正確地做了一切,但它並沒有顯示這些數據。來自服務的角度數據沒有在前端顯示
這就是結構的外觀。
路線:
$stateProvider
.state('app.view1', {
url: '/view1',
templateUrl: 'scripts/modules/testModule/views/view1.html',
controller: 'testModuleCtrl',
controllerAs: 'vm',
resolve: {
InitialData: authResolver
}
}).state('app.view2', {
url: '/view2',
templateUrl: 'scripts/modules/testModule/views/view2.html',
controller: 'testModuleCtrl',
controllerAs: 'vm',
resolve: {
InitialData: authResolver
}
}).state('app.view3', {
url: '/view3',
templateUrl: 'scripts/modules/testModule/views/view3.html',
controller: 'testModuleCtrl',
controllerAs: 'vm',
resolve: {
InitialData: authResolver
}
})
控制器:
(function() {
'use strict';
angular
.module('com.module.testModule')
.controller('testModuleCtrl', testModuleCtrl);
testModuleCtrl.$inject = ['$state','$rootScope','UserService', '$stateParams', 'ReportService','SharedDataService','BlogService',
'toastr', 'InitialData', 'SharedFunctionService'];
function testModuleCtrl($state, $rootScope, UserService, $stateParams, ReportService, SharedDataService,BlogService,
toastr, InitialData, SharedFunctionService) {
var vm = this;
vm.getUserData = getUserData;
vm.goToPage1 = goToPage1;
vm.goToPage2 = goToPage2;
vm.goToPage3 = goToPage3;
function goToView1(){
$state.go('app.view1');
getUserData("someArg");
}
function goToView2(){
console.log("Going to View 2")
$state.go('app.view2');
getUserData("someArg");
}
function goToView3(){
console.log("Going to View 3")
$state.go('app.reportView3');
}
function getUserData(argumentType) {
ReportService.GetTestReport("someArg").then(function reportSuccessCallback(result) {
vm.result = result.data;
console.log("CHECK OUT THIS RAD RESULT, BRO ----> ");
console.log(vm.result);
}, function reportErrorCallback(reason) {
vm.reason = reason.data;
console.log("The reason of failure is this --=> ")
console.log(vm.reason);
})
}
}
})();
在HTML中,我試圖使這個結果做 {{vm.result}}
但沒有顯示。我也在管理範圍。按照John-Papa Style Guidelines for Angular 1.x中的規定執行所有操作。
從早上起我就開始工作了,我正準備把頭髮拉出來。我在這裏做錯了什麼?我正在以非常優化的方式嘗試一切。 Ps。新來的。
編輯: 根據要求,我也添加了服務代碼。
服務
(function() {
'use strict';
angular
.module('com.module.tests')
.factory('ReportService', ReportService);
ReportService.$inject = ['$http','ENV'];
function ReportService($http,ENV) {
var baseUrl=ENV.apiUrl+'/tests/';
var service = {
GetTestReport: GetTestReport
};
return service;
function GetTestReport(type){
return $http.get(baseUrl + type + '/testReport').then(handleSuccess, handleError);
}
// private functions
function handleSuccess(res) {
return res.data;
}
function handleError() {
return {success: false}
}
}
})();
你能告訴我你的ReportService的代碼,請。 –
你好@Arno_Geismar我在問題中添加了服務代碼。有什麼我失蹤了嗎? – SarthakBatra