angularjs中的异步操作

angularjs中的异步操作,AngularJS 提供了一个类似jquery的$.ajax的对象,用于异步请求。
在AngularJS中对异步操作是推崇至极的,所以$http的操作都是异步的不像jquery.ajax里还提供了async参数。
"异步问题"
 1.叫回来 $scope.$apply()     angularjs中涉及到数据检查的东西,这个方法表示告诉angularjs,值已经改变了。
 2.用angularjs自己的方法  $http.get()

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>angularjs中的异步操作,"异步问题" 1.叫回来 $scope.$apply()     2.用angularjs自己家的  $http.get()
    </title>
    <script src="https://cdn.staticfile.org/angular.js/1.5.5/angular.min.js"></script>
    <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
    </script>
</head>
<body ng-app="myApp">
    <div ng-controller="main">
        <ul>
            <li ng-repeat="a in arr">
                {{a}}
            </li>
        </ul>

    </div>

   <script type="text/javascript">
          
       let mod = angular.module("myApp", []);
       mod.controller("main", ["$scope","$http", function ($scope,$http) {


           $http.get("arr.txt").then(function (res) {
               console.log(res.data);
               $scope.arr = res.data;
           }, function(err){
               console.log("失败");
               });


           //$http.get("arr.txt").then((res) => {
           //    $scope.arr = res.data;
           //}, (err) => {
           //    alert("失败");
           //});


           //setTimeout(function () {
           //    $scope.arr = [12, 5, 8];
           //    $scope.$apply();
           //}, 10);


           //$.ajax({
           //    url: "arr.txt",
           //    dataType: "json",
           //    success(res) {
           //        alert(res);
             
           //        $scope.arr = res;
           //        $scope.$apply();

           //    },
           //    error() {
           //        alert("错了");
           //    }
           //});
          // $scope.arr = [12,5,8];
       }]);
   </script>


</body>
</html>

 

posted @ 2018-10-18 21:50  Z.ain  阅读(1333)  评论(0编辑  收藏  举报