如何将JavaScript变量中的值发送到Angular js变量

时间:2016-08-25 10:20:31

标签: javascript angularjs

我在向Angular js变量发送JavaScript变量值时遇到问题。我想将JavaScript中的dataArray变量中的值发送给Angular js变量$scope.test

html代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

     <script src="angular.js"></script>
   <script type='text/javascript'>
 $(document).ready(function () {
   // $("#fileUpload").load('test.csv');
    $.get("test.csv", function(data) {
            alert(data);
            var rows = data.split("\r\n");

                    if(rows.length>0){
                        alert("inside if");
                        var firstRowCells = GetCSVCells(rows[0], ",");

                        var dataArray = new Array();
                        for(var i=1;i<rows.length;i++)
                        {
                            var cells = GetCSVCells(rows[i], ",");
                            var obj = {};
                            for(var j=0;j<cells.length;j++)
                            {
                                obj[firstRowCells[j]] = cells[j];
                            }
                            dataArray.push(obj);
                        }


                        $("#dvCSV").html('');
                        alert(dataArray);
                        $("#dvCSV").append(JSON.stringify(dataArray));
                        var myjson=JSON.stringify(dataArray);
                        //alert(myjson);
                    }

    });
    function GetCSVCells(row, separator){
    return row.split(separator);
}
});


</script>
</head>
<body>
    <div id="container">
        Test
    </div>
<div  ng-app="sortApp" ng-controller="mainController">
    <div id="dvCSV" ng-model="dataf" ng-bind="bdc">dfsgdfd</div>
</div>
<script src="app.js"></script> 
</body>
</html>

app.js:

angular.module('sortApp', [])
.controller('mainController', function($scope) {
  window.alert("Angular");
  window.alert("asdfad"+$scope.bdc);
  $scope.test=$scope.dataf;
  window.alert($scope.myjson);

  window.alert("test"+$scope.test.value);

2 个答案:

答案 0 :(得分:0)

你可以使用angular js的http服务以角度完成所有jquery的东西。 对于简单的http服务,您可以参考此链接 - http://www.w3schools.com/angular/angular_http.asp

答案 1 :(得分:0)

我同意之前的回答。使用 $(document).ready 以及在应用程序中使用角度框架也是错误的。

尝试这样的事情:

angular.module('sortApp', [])
  .service('loadTestCsv' ['$http', function($http) {
    return $http.get('test.csv').then(data => {

     // do all data processing you need
     return data;
    });
  }]); 
  .controller('mainController', ['$scope', 'loadTestCsv', function($scope, loadTestCsv) {
     loadTestCsv().then(data => {
       $scope.data = data;
     });
  }]);