• anjularjs 服务(Service)


    为什么使用服务?

    $http 是 AngularJS 应用中最常用的服务。服务向服务器发送请求,应用响应服务器传送过来的数据。

    AngularJS 会一直监控应用,处理事件变化, AngularJS 使用 $location 服务比使用 window.location 对象更好。

     $location 服务,它可以返回当前页面的 URL 地址。

     $location 服务是作为一个参数传递到 controller 中。如果要使用它,需要在 controller 中定义。

    <div ng-app="myApp" ng-controller="myCtrl">

    <p> 当前页面的url:</p>
    <h3>{{myUrl}}</h3>
    </div>

    <p>该实例使用了内建的 $location 服务获取当前页面的 URL。</p>

    <script>
    var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope, $location) {
        $scope.myUrl = $location.absUrl();
    });

    $http服务 :

    </script>
     
    <div ng-app="myApp" ng-controller="myCtrl"

    <p>欢迎信息:</p>

    <h1>{{myWelcome}}</h1>

    </div>

    <p> $http 服务向服务器请求信息,返回的值放入变量 "myWelcome" 中。</p>

    <script>
    var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope, $http) {
      $http.get("welcome.htm").then(function (response) {
          $scope.myWelcome = response.data;
      });
    });
    </script>

     $timeout服务

    <div ng-app="myApp" ng-controller="myCtrl"

    <p>两秒后显示信息:</p>

    <h1>{{myHeader}}</h1>

    </div>

    <p>$timeout 访问在规定的毫秒数后执行指定函数。</p>

    <script>
    var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope, $timeout) {
      $scope.myHeader = "Hello World!";
      $timeout(function () {
          $scope.myHeader = "How are you today?";
      }, 2000);
    });

    </script> 

     $interval 访问在指定的周期(以毫秒计)来调用函数或计算表达式。

     显示电脑本地时间

    <div ng-app="myApp" ng-controller="myCtrl"
    <p>现在时间是:</p>

    <h1>{{theTime}}</h1>

    </div>

    <p>$interval 访问在指定的周期(以毫秒计)来调用函数或计算表达式。</p>

    <script>
    var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope, $interval) {
      $scope.theTime = new Date().toLocaleTimeString();
      $interval(function () {
          $scope.theTime = new Date().toLocaleTimeString();
      }, 1000);
    });
    </script>

     用自定义服务

     <div ng-app="myApp" ng-controller="myCtrl">


    <p>255 的16进制是:</p>

    <h1>{{hex}}</h1>

    </div>

    <p>自定义服务,用于转换16进制数:</p>

    <script>
    var app = angular.module('myApp', []);

    app.service('hexafy', function() {
        this.myFunc = function (x) {
            return x.toString(16);
        }
    });
    app.controller('myCtrl', function($scope, hexafy) {
      $scope.hex = hexafy.myFunc(255);
    });
    </script>
  • 相关阅读:
    day 66 ORM django 简介
    day 65 HTTP协议 Web框架的原理 服务器程序和应用程序
    jQuery的事件绑定和解绑 事件委托 轮播实现 jQuery的ajax jQuery补充
    background 超链接导航栏案例 定位
    继承性和层叠性 权重 盒模型 padding(内边距) border(边框) margin 标准文档流 块级元素和行内元素
    属性选择器 伪类选择器 伪元素选择器 浮动
    css的导入方式 基础选择器 高级选择器
    03-body标签中相关标签
    Java使用内存映射实现大文件的上传
    正则表达式
  • 原文地址:https://www.cnblogs.com/cf924823/p/5230867.html
Copyright © 2020-2023  润新知