Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将$http.get和$scope中的值合并到双向数据绑定中_Javascript_Angularjs - Fatal编程技术网

Javascript 将$http.get和$scope中的值合并到双向数据绑定中

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

我试图让用户输入使用双向数据绑定更改作用域上的值。我认为,由于该值是在$http success函数中计算的,因此不允许进行双向数据绑定。是否有人知道一个好的解决方案,允许$scope.btc金额根据$scope.usd输入动态更新

控制器:

    $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');
    });

});