true
を返す場合は、htmlコードで関数Allow()
を呼び出しています。ユーザーはデータを編集できます。Angular JSのリモートデータから変数を設定する
機能$scope.GetCurrentStatus()
,$scope.GetCurrentStatus()
はどちらも同期しています。
しかし、Allow()
メソッドでは、次のエラーを返します。
Type Error: Cannot read property 'UserType' of undefined
状況に対応してください。
//LoadStatus
$scope.GetCurrentStatus = function() {
var defer = $q.defer();
$http({
method: "POST",
url: "../Documentation/Documentation.aspx/GetStatus",
data: {}
})
.then(function (response) {
defer.resolve(response.data.d);
$scope.Status = response.data.d;
}),
function (error) { data, status };
}
$scope.GetCurrentStatus();
//Load AccessRole
$scope.GetAccessRole = function() {
var defer = $q.defer();
$http({
method: "POST",
url: "../Documentation/Documentation.aspx/GetAccessRole",
data: {}
})
.then(function (response) {
defer.resolve(response.data.d);
$scope.Access = response.data.d;
}),
function (error) { data, status };
};
$scope.GetAccessRole();
$scope.Allow = function() {
if ($scope.Access.UserType == 'Admin' || !($scope.Status.Status == 'CC' || $scope.Status.Status == 'CD'))
return true;
return false;
}
関数GetAccessRole()は、必要なデータを返しますか? console.log($ scope.Access)をそこに保存してください。 –
'GetCurrentStatus'と' GetAccessRole'はどのように同期できますか?あなたはそれらを非同期にした約束を使用しています。あなたが 'Allow()'を呼び出すまでには、あなたの応答は得られません。 – Ashish
はいGetAccessRole()はデータを返します。しかし、$ scope.Allow()はGetAccessRole()がデータを返す前に実行されます。 –