来自数据库的数据未使用角度加载到页面加载时的变量
在页面加载时,我从数据库中获取数据并将其置于$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();
回答:
数据从服务器返回之前addProject
函数被调用的数据。
修改getClients
和getAllUsers
函数返回的承诺:
$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();
});
回答:
你应该得到这样的
var getclients= function(){ debugger;
console.log($scope.clientList);
console.log($scope.userList);
};
getclients();
以上是 来自数据库的数据未使用角度加载到页面加载时的变量 的全部内容, 来源链接: utcz.com/qa/261044.html