JQLite--$watch--$q.defer

2017-06-04  本文已影响20人  MGd
 //1.创建模板
        var app = angular.module('app', []);
        //2.创建控制器
        app.controller('myController', ['$scope', function ($scope) {
            $scope.name = 'xmg';
            var count = 3;
            var unWatch = $scope.$watch('per.name',function (newV,oldV) {
                console.log(newV+'-----'+oldV);
                count--;
                if (count == 0){
                    unWatch();   //取消监听。
                }
            },true);   //为true可以监听对象的变化
        }]);
        //3.绑定模块
        //4.绑定控制器
    </script>
</head>
<body ng-app="app" ng-controller="myController">
<input type="text" ng-model="per.name">
<input type="text" ng-model="per.age">
<h1>{{per.name}}</h1>
<h1>{{per.age}}</h1>
  //1.创建模板
        var app = angular.module('app', []);
        //2.创建控制器
     app.controller('myController', ['$scope','$http','$q', function ($scope,$http,$q) {
            var defer = $q.defer();

            $http({
                url:'url',
                method:'get',
          }).then(function (res) {     //请求成功,获得返回值。用返回的值再一次发送请求
                defer.resolve(res);
          }).catch(function (error) {      
                defer.reject(error);
            });

          defer.promise.then(function (res) {         //上面请求成功对应的再次请求。
                //resolve
                alert(res);
          },function (error) {
                //reject
                alert('error'+error);
            }).finally(function () {
                //finally一定会执行。
                alert('fin');
            });
        }]);
        //3.绑定模块
        //4.绑定控制器
    </script>
</head>
<body ng-app="app" ng-controller="myController">
</body>
上一篇 下一篇

猜你喜欢

热点阅读