使用 angular 在页面加载时,数据库中的数据未加载到变量
Data from database is not loaded to a variable on page load using angular
在页面加载时,我从数据库中获取数据并将其放入 $scope.x
。在我的网络选项卡中,我从我的数据库中获取了列表,但它没有加载到变量中,我很快将通过使用 ng-repeat
在下拉列表中需要它。然而,在页面加载后,当我单击一个检索数据的按钮并将其放入 $scope.x
时,我已经获得了值。如果我这样做,我不会在页面加载时获取值,只需单击将数据检索到变量的按钮,我也不会得到任何东西。我究竟做错了什么。下面是我的代码:
$scope.addProject = function () {
debugger;
console.log($scope.clientList);
console.log($scope.userList);
};
$scope.getClients = function () {
debugger;
$http.get('/Clients/GetClients')
.then(function (response) {
$scope.clientList = response.data;
});
};
$scope.getAllUsers = function () {
debugger;
$http.get('/User/GetAllUsers')
.then(function (response) {
$scope.userList = response.data;
})
};
$scope.getClients();
$scope.getAllUsers();
$scope.addProject();
你应该得到这样的数据
var getclients= function(){
debugger;
console.log($scope.clientList);
console.log($scope.userList);
};
getclients();
在从服务器 return 编辑数据之前调用 addProject
函数。
修改getClients
和getAllUsers
函数为return承诺:
$scope.addProject = function () {
debugger;
console.log($scope.clientList);
console.log($scope.userList);
};
$scope.getClients = function () {
debugger;
̲r̲e̲t̲u̲r̲n̲ $http.get('/Clients/GetClients')
.then(function (response) {
$scope.clientList = response.data;
});
};
$scope.getAllUsers = function () {
debugger;
̲r̲e̲t̲u̲r̲n̲ $http.get('/User/GetAllUsers')
.then(function (response) {
$scope.userList = response.data;
})
};
然后使用$q.all
等待承诺:
var clientsPromise = $scope.getClients();
var allUsersPromise = $scope.getAllUsers();
$q.all([clientsPromise, allUsersPromise])
.then(function() {
$scope.addProject();
});
在页面加载时,我从数据库中获取数据并将其放入 $scope.x
。在我的网络选项卡中,我从我的数据库中获取了列表,但它没有加载到变量中,我很快将通过使用 ng-repeat
在下拉列表中需要它。然而,在页面加载后,当我单击一个检索数据的按钮并将其放入 $scope.x
时,我已经获得了值。如果我这样做,我不会在页面加载时获取值,只需单击将数据检索到变量的按钮,我也不会得到任何东西。我究竟做错了什么。下面是我的代码:
$scope.addProject = function () {
debugger;
console.log($scope.clientList);
console.log($scope.userList);
};
$scope.getClients = function () {
debugger;
$http.get('/Clients/GetClients')
.then(function (response) {
$scope.clientList = response.data;
});
};
$scope.getAllUsers = function () {
debugger;
$http.get('/User/GetAllUsers')
.then(function (response) {
$scope.userList = response.data;
})
};
$scope.getClients();
$scope.getAllUsers();
$scope.addProject();
你应该得到这样的数据
var getclients= function(){
debugger;
console.log($scope.clientList);
console.log($scope.userList);
};
getclients();
在从服务器 return 编辑数据之前调用 addProject
函数。
修改getClients
和getAllUsers
函数为return承诺:
$scope.addProject = function () {
debugger;
console.log($scope.clientList);
console.log($scope.userList);
};
$scope.getClients = function () {
debugger;
̲r̲e̲t̲u̲r̲n̲ $http.get('/Clients/GetClients')
.then(function (response) {
$scope.clientList = response.data;
});
};
$scope.getAllUsers = function () {
debugger;
̲r̲e̲t̲u̲r̲n̲ $http.get('/User/GetAllUsers')
.then(function (response) {
$scope.userList = response.data;
})
};
然后使用$q.all
等待承诺:
var clientsPromise = $scope.getClients();
var allUsersPromise = $scope.getAllUsers();
$q.all([clientsPromise, allUsersPromise])
.then(function() {
$scope.addProject();
});