ページの読み込み時に、データベースからデータを取得し、$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();
angular.js:14642 ReferenceError:$ qが定義されていません。 –
'$ http'サービスを注入したのと同じ方法で' $ q'サービスをコントローラに注入する必要があります。 – georgeawg
うわー!それはうまくいった!元のコードでもうまくいかなかった理由を説明してください。なぜ$ q.allや約束を追加する必要がありますか? –