ここでは多くの類似の問題について説明しましたが、私は関数を持っており、その中に$ http getリクエストを実行します。関数内で引数としてオブジェクトも渡します。応答が成功すると、正しいデータが表示され、私はそれを渡す外部変数に割り当てようとします。しかし、応答からのデータは機能の外で "逃げる"ようではありません。外部変数もスコープ変数です。私は直接関数を使用しません。なぜなら、関数は階層の下の他のコントローラによって使用されるはずだからです。 は、ここに機能だ:
$scope.user = {} //in the beginning of the controller.
//.....
$scope.getUser(1, $scope.user);
をしているの$ scope.user後、まだ手つかずです:
$scope.getUser = function (userID, userData) {
var response = $http({
method: "GET",
url: ("user/" + userID),
responseType: "json"
})
.then(
function (response) { //success
return response.data;
},
function (response) { //error
alert(response.data.message);
return undefined;
})
.then(function (data) {
userData = data;
});
};
は基本的に私はこのようなのuserDataに結果を代入しようとしています。 私もその中に入れてみました
$を適用しますが、結果は同じです。 userData引数の代わりに$ scope.userを関数の中に置くと、すべてがOKですが、私が言ったように、関数の目的ではありません。どの変数でも動作できるはずです。私は角度uiルータを使用しており、この機能が配置されているコントローラは階層の最上位にあり、他のすべてのコントローラはそれにアクセスしてそれを使用してデータベースからユーザを取得する必要があります。
を試してみてください!ありがとうたくさん:) – Stefan