Tôi đang sử dụng mã sau để có được đối tượng json và ràng buộc nó vào $ phạm vi
LÀM VIỆC Mã sản phẩm:
$http({
url: '/Home/GetJson',
method: "GET",
params: {
clientID: cId
}
}).success(function (data) {
$scope.members = data.members;
})
Nó hoạt động .. những gì tôi sẽ muốn làm là lấy kết quả vào một số var data
rồi thêm nó vào phạm vi $.
Không Mã sản phẩm:
var data = $http({
url: '/Home/GetJson',
method: "GET",
params: {
clientID: cId
}
}).success(function (data) {
return data.members;
})
$scope.members = data;
Khi tôi nhìn vào $ scope.members, nó là sản phẩm nào trong mã thất bại vì $ scope.members rỗng khi nó được lấp đầy (js là sự kiện có trụ sở).
Làm cách nào tôi có thể đợi cho đến khi json trả về> sau đó var = data> rồi $ scope.members = data?
LÀM VIỆC MÃ
tôi đã sử dụng chức năng gọi lại javascript như sau
Gọi chức năng chính của tôi
DoLogin($scope, $http, email, password, AssingMemberToScope);
function DoLogin($scope, $http, email, password, callback) {
$http({
url: '/Home/GetJson',
method: "GET",
params: {
clientID: cId
}
}).success(function (data) {
callback($scope, data); //<----- Call Back occurs
})
}
// - Gọi lại chức năng làm việc và mã số được tách ra -/
function AssingMemberToScope($scope, data) {
if (data.msg) {
$('.loading').hide();
$scope.member = data.member;
} else {
$('.loading').hide();
$('#msg').show();
}
}
Bạn đang làm điều đó một cách chính xác trong mẫu đầu tiên bằng cách gán nó trong cuộc gọi lại, tại sao lại thay đổi nó? – tymeJV
Tôi muốn đặt toàn bộ cuộc gọi json trong một chức năng riêng biệt và trả lại dữ liệu vào hàm để tôi có thể thực hiện một số nội dung cho nó. –