Javascript Angular.js多个rest调用范围问题
说到Angular.js,我是一个bigniner,我有一个问题,$scope不能从两个$resource rest调用中的一个获得额外的值。这是我的密码:Javascript Angular.js多个rest调用范围问题,javascript,angularjs,rest,Javascript,Angularjs,Rest,说到Angular.js,我是一个bigniner,我有一个问题,$scope不能从两个$resource rest调用中的一个获得额外的值。这是我的密码: controller: function ($scope, $modalInstance, $route) { $scope.server = {} $scope.submit = function () { //AddNewServer is a $reso
controller: function ($scope, $modalInstance, $route) {
$scope.server = {}
$scope.submit = function () {
//AddNewServer is a $resource service
AddNewServer.post($.param({
'name': $scope.server.name,
'ip': $scope.server.ip,
'port': $scope.server.port
}));
//ServerStats is a $resource service
ServerStats.postServerStats(function success(data) {
$scope.server.bytesIn = data.returnValue.bytesIn
}, function err(err) {
console.log("Error: " + err)
})
$modalInstance.dismiss('cancel');
$route.reload()
//BELLOW LOG RETURNS Object {name: "asd", ip: "asd", port: 2} NO bytesIn
console.log($scope.server)
}
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
$route.reload()
};
}
问题是如何将来自其他服务调用的bytesIn添加到服务器对象中?我相信这是一件很明显的事情,但我仍处于学习阶段。提前感谢。您的postServerStats()调用是异步的,因此很可能在console.log($scope.server)语句之前没有调用success函数
分配$scope.server.bytesIn后,将console.log($scope.server)放入success函数中
也许您想在postServerStats()回调中做更多的工作
或者更好的是,查看一下谢谢您的回复!我在成功回调中添加了console.log($scope.server),它给了我想要的对象:{name:“asd”,ip:“asd”,port:2,bytesIn:7076}。我想做的是能够在我的页面上使用$scope.server来显示数据,但我只得到前3个参数(名称、ip、端口),如果我在使用ng repeat的div中使用它,则不会得到bytesIn。如果答案对您有帮助,请不要忘了将其标记为正确!