Javascript 将$http.get和$scope中的值合并到双向数据绑定中
我试图让用户输入使用双向数据绑定更改作用域上的值。我认为,由于该值是在$http success函数中计算的,因此不允许进行双向数据绑定。是否有人知道一个好的解决方案,允许$scope.btc金额根据$scope.usd输入动态更新 控制器:Javascript 将$http.get和$scope中的值合并到双向数据绑定中,javascript,angularjs,Javascript,Angularjs,我试图让用户输入使用双向数据绑定更改作用域上的值。我认为,由于该值是在$http success函数中计算的,因此不允许进行双向数据绑定。是否有人知道一个好的解决方案,允许$scope.btc金额根据$scope.usd输入动态更新 控制器: $scope.usd = 0; $http({ method:'GET' , url: 'https://jsonp.nodejitsu.com/?url=https%3A%2F%2Fcoinbase.c
$scope.usd = 0;
$http({
method:'GET' ,
url: 'https://jsonp.nodejitsu.com/?url=https%3A%2F%2Fcoinbase.com%2Fapi%2Fv1%2Fcurrencies%2Fexchange_rates'
}).
success(function(data,status,headers,config){
$scope.btc = parseFloat(data.btc_to_usd) * $scope.usd
}).
error(function(data,status,headers,config){
console.log('failure')
});
视图:
请看这里:只需更改一下您的$http调用
var app = angular.module('app', []);
app.controller('firstCtrl', function($scope, $http){
$scope.usd = 10;
$http.get('https://jsonp.nodejitsu.com/?url=https%3A%2F%2Fcoinbase.com%2Fapi%2Fv1%2Fcurrencies%2Fexchange_rates').
then(function(response,status,headers,config){
$scope.btc = parseFloat(response.data.btc_to_usd) * $scope.usd;
},
function(data,status,headers,config){
console.log('failure');
});
});
问题不在于远程呼叫。将断点放在第行
$scope.btc=parseFloat(data.btc_to_usd)*$scope.usd
上,查看是否命中了断点以及btc的值。我正在尝试动态更新输入字段。因此,如果用户在美元输入中输入10,它将呈现10 x btc_对_的美元汇率。
var app = angular.module('app', []);
app.controller('firstCtrl', function($scope, $http){
$scope.usd = 10;
$http.get('https://jsonp.nodejitsu.com/?url=https%3A%2F%2Fcoinbase.com%2Fapi%2Fv1%2Fcurrencies%2Fexchange_rates').
then(function(response,status,headers,config){
$scope.btc = parseFloat(response.data.btc_to_usd) * $scope.usd;
},
function(data,status,headers,config){
console.log('failure');
});
});