2017-5-22 AngularJS学习笔记

服务和 $location 地址

服务(Service)

  • 服务是一个对象或函数,对外提供特定的功能。我们要学习的就是这些服务当中给我们提供了哪些功能,这些功能的作用分别是什么
  • 常见的内置服务
  • $location
  • $timeout
  • $filter
  • $log
  • $http
  • 同时还支持多种快捷方式如 $http.get(),$http.post(),$http.jsonp

**$location 地址 **

  • 一个完整的 url 包括以下几部分
  • 1.协议部分:该 url 的协议部分为 "http:",这代表网页使用的是 HTTP 协议。在 Internet 中可以使用多种协议,如 http.ftp 等等。http 后面的 // 为分隔符
  • 2.域名部分:该 url 的域名部分为 www.520it.com. 一个 url 中,也可以使用 IP 地址作为域名使用
  • 3.端口部分:跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。端口不是一个 url 必须1的部分,如果省略端口部分,将采用默认端口
  • 4.虚拟目录部分:从域名后的第一个"/"开始到最后一个"/"为止,是虚拟目录部分。虚拟目录也不是一个 url 必须的部分。
  • 5.文件名部分:
  • 从域名后的最后一个/开始到?为止是文件名部分
  • 如果没有“?”,则是从域名后的最后一个/开始到#为止,是文件部分
  • 如果没有?和#,那么从域名后的最后一个/开始到结束,都是文件名部分
  • 文件名部分也不是一个 url 必须的部分,如果省略该部分,则使用默认的文件名
  • 6.锚部分:从#开始到最后都是锚部分。#在一个页面中定位使用(hash)锚部分也不是一个 Url 必须的部分
  • 7.参数部分:从‘?’开始到‘#’位置之间的部分为参数部分,又称搜索部分、查询部分。参数可以允许又多个参数,参数与参数之间用“&”作为分隔符

$location 服务

js 中 location 的含义

  • location 对象存储在 window 对象的 location 属性中,表示哪个窗口中当前显示的文档的 web 地址,它的 href 属性存放的是文档的完整 url,其他属性则分别描述了 url 各个部分,当一个 location 对象被转换成字符串,href 属性的值返回。这意味着你可以使用表达式 location 来提到 Location.href

js 中 location 对象属性

  • hash
    设置或返回从#开始的 url 。开始的如果地址里没有#,则返回空字符串

  • host
    设置或返回主机名和当前 url 的端口号

  • hostname
    设置或返回当前的 url 的主机名

  • href
    设置或返回完整的 url。 在浏览器的地址栏上怎显示它就怎么返回
    -pathname
    设置或返回当前 url 路径部分

  • port
    设置或返回当前 Url 的端口号

  • protocol
    设置或返回当前 url 的协议(http)

  • search
    设置或返回从?开始的 url 部分

  • $location 服务解析在浏览器地址栏中的 url,并且让 Url 在你的应用中可用

  • $location.host()

  • $location.ablUrl() 获取绝对路径

  • $location.protocol()

  • $location.port()

  • $location.path()

  • $location.hash

  • $location.search

$timeout 和 $interval 服务

<body ng-app='app' ng-controller='xmgController'>
        <p ng-bind='dateTime | date:'yyyy-MM-dd hh:mm:ss Z''>
        <button ng-click="stop()">停止计时</button>
</p>
</body>
<script src ='js/angular.js'></script>
<script>
          var app = angular.module('app',[]);
          app.controller('xmgController',['$scope','$timeout','interval',function($scope,$timeout,$interval){
                $scope.name = 'sk';
                $timeout(function(){
                $scope.name = 'v587';
        },3000);
                $scope.dateTime = new Date();
                var timer = $interval(function(){
                          $scope.dateTime = new Date();
                  },1000)
                $scope.stop = function(){
                        $interval.cansel(timer);
                }
}])
</script>

$filter 服务

<body ng-app="app" ng-controller="xmgController">

<!--<p ng-bind="nowTime | date:'yyyy-MM-dd hh:mm:ss Z'"></p>-->
<p ng-bind="nowTime"></p>

<p ng-bind="str"></p>

</body>

<script src="js/angular.js"></script>
<script>
    //1.创建模块
    var app = angular.module('app', []);
    //2.创建控制器
    app.controller('xmgController', ['$scope', '$filter', function ($scope, $filter) {
        //2.1 日期过滤
        $scope.nowTime = new Date();
        //指定过滤器
        //日期过滤器 $filter('date'), 货币过滤器 $filter('currency')
        var dateFilter = $filter('date');
        //进行过滤, 指定格式
        $scope.nowTime = dateFilter($scope.nowTime = new Date(), 'yyyy-MM-dd');

        //2.2 大写过滤
        $scope.str = "xmg";
        $scope.str = $filter('uppercase')($scope.str);

    }]);

    //3.绑定模块 ng-app="app"
    //4.绑定控制器 ng-controller="xmgController"

</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容