Angularjs 常用服务 $http $location $anchorScroll $cacheFactory $timeout $interval $sce

Angularjs 常用服务 $http $location
$anchorScroll $cacheFactory $timeout $interval $sce
学习要点:
1. Angularjs 中的 $http 服务
2. Angularjs 中的 $location $anchorScroll 服务
3. Angularjs 中的 $cacheFactory 服务
4. Angularjs 中的 $timeout $interval 服务
5. $sce 服务 浏览器简析 html 标签
1Angularjs 中的 $http 服务
$http get 实例
$http.get(url,{params:{id:‘5‘}}) .success(function(response) {
$scope.names = response;
}).error(function(data){
//错误代码
});
$http post 实例:
var postData={text:‘这是 post 的内容‘};
var config={params:{id:‘5‘}}
$http.post(url,postData,config) .success(function(response) {
$scope.names = response;

}).error(function(data){
//错误代码
});
$http Jsonp 实例:

myUrl =
"http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1&callback=JSON_
CALLBACK";
$http.jsonp(myUrl).success(
function(data){
$scope.portalcate = data.result;
}
).error(function(){
alert(‘shibai‘);
});

2. Angularjs 中的 $location $anchorScroll 服务
$location 服务解析地址栏中的 URL(基于 window.location),让你在应用代码中
能获取到。改变地址栏中的 URL 会反应$location 服务中,反之亦然。
$location 服务:
1. 暴露当前地址栏的 URL,这样你就能
获取并监听 URL。
改变 URL。
2.当出现以下情况时同步 URL
改变地址栏
点击了后退按钮(或者点击了历史链接)
点击了一个链接
3.一系列方法来获取 URL 对象的具体内容用( protocol, host, port, path, search,
hash) .formatDate
$location 不会做
当浏览器的 URL 改变时,不会重新加载整个页面。如果想要重新加载整个页面,
需要使用$window.location.href。

内置方法:
absUrl( ):只读;根据在 RFC 3986 中指定的规则,返回 url,带有所有的片段。
hash( ):读、写;当带有参数时,返回哈希碎片;当在带有参数的情况下,改变
哈希碎片时,返回$location。
host( ):只读;返回 url 中的主机路径。
path( ):读、写;当没有任何参数时,返回当前 url 的路径;当带有参数时,改
变路径,并返回$location。(返回的路径永远会带有/)
port( ):只读;返回当前路径的端口号。
protocol( ):只读;返回当前 url 的协议。
replace( ):如果被调用,就会用改变后的 URL 直接替换浏览器中的历史记录,而
不是在历史记录中新建一条信息,这样可以阻止『后退』。

search( ):读、写;当不带参数调用的时候,以对象形式返回当前 url 的搜索部分。
url( ):读、写;当不带参数时,返回 url;当带有参数时,返回$location。
<!DOCTYPE HTML>
<html ng-app="myApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
#parent div{ width:300px; height:500px; border:1px #000 solid; margin:20px;}
#parent ul{ width:200px; position:fixed; top:0; right:0;}
</style>
<script src="angular.min.js"></script>
<script>
var m1 = angular.module(‘myApp‘,[]);
m1.controller(‘FirstControl‘,[‘$scope‘,‘$location‘,‘$anchorScroll‘,function($scope,$loc
ation,$anchorScroll){
$scope.change = function(id){
//console.log(id);
$location.hash(id);
$anchorScroll();
};
}]);
</script>
</head>
<body>
<div id="parent" ng-controller="FirstControl">
<ul>
<li ng-repeat="id in [1,2,3,4,5]"
ng-click="change(‘div‘+id)">{{id}}aaaaaaaaaa</li>
</ul>
<div ng-repeat="id in [1,2,3,4,5]" ng-attr-id="div{{id}}">{{id}}</div>
</div>
</body>
</html>
3. Angularjs 中的 $cacheFactory 服务
<!DOCTYPE HTML>
<html ng-app="myApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
#parent div{ width:300px; height:500px; border:1px #000 solid; margin:20px;}
#parent ul{ width:200px; position:fixed; top:0; right:0;}
</style>
<script src="../angular.min.js"></script>
<script>
var m1 = angular.module(‘myApp‘,[]);
m1.controller(‘Aaa‘,[‘$scope‘,‘$cacheFactory‘,‘$log‘,function($scope,$cacheFactory,$l
og){
$log.error(‘hello‘);
var cache = $cacheFactory(‘myCache‘);
cache.put(‘name‘,‘hello‘);
cache.put(‘age‘,‘20‘);
cache.put(‘job‘,‘it‘);
}]);
m1.controller(‘Bbb‘,[‘$scope‘,‘$cacheFactory‘,‘$log‘,function($scope,$cacheFactory,$l
og){
var cache = $cacheFactory.get(‘myCache‘);
console.log(cache.get(‘name‘));
}]);
</script>
</head>
<body>
<div ng-controller="Aaa">
</div>
<div ng-controller="Bbb">
</div>
</body>
</html>

4. Angularjs 中的 $timeout $interval

$timeout(function(){
$scope.name = ‘123‘;
},1100);

$ inteval(function(){
$scope.name = ‘123‘;
},1100);

$timeout.cancel(promise)

5. Angularjs 中的 $sce 服务
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>无标题文档</title>
<script type="text/javascript" src="../angular.min.js"></script>
</head>
<body>
<div ng-app="myApp">
<div ng-controller="firstController">
{{name}}
<div ng-bind-html="detailContent()"></div>
</div>
</div>
<script type="text/javascript">
var app = angular.module("myApp", []);
app.controller(‘firstController‘,function($scope,$timeout,$sce,$http){
$scope.name = ‘hello‘;
$scope.text = ‘<h1>hello</h1>‘;
var myUrl =
"http://www.phonegap100.com/appapi.php?a=getPortalArticle&aid=338&callback=J
SON_CALLBACK";
$http.jsonp(myUrl).success(
function(data){
//$scope.portalDetail = data.result[0];
$scope.detailContent = function() {
return $sce.trustAsHtml(data.result[0].content);
};
}
).error(function(){
alert(‘失败‘);
});
});
</script>
</body>
</html> </body>
</html>

时间: 2024-12-14 18:05:35

Angularjs 常用服务 $http $location $anchorScroll $cacheFactory $timeout $interval $sce的相关文章

AngularJS常用功能

AngularJS 常用功能 迭代输出之ng-repeat标签 ng-repeat让table ul ol等标签和js里的数组完美结合 1 2 3 4 5 <ul> <li ng-repeat="person in persons"> {{person.name}} is {{person.age}} years old. </li> </ul> 你甚至可以指定输出的顺序: 1 <li ng-repeat="person

angularJS 常用插件指令

长时间没有登入博客园了,今天突然想了想,当初开这个的目的,其实就是为了记录你当下的一个状态和累计一些问题,所以记录这些还是很有意义,毕竟不是什么牛,靠脸又吃不饱的这个年代,需要留下一些东西给自己看也好 给需要的人看也好. 好了言归正传,最近在接触angular JS,也碰到了很多问题,可能以后会更多的往这个方向学习,今天给大家分享一些angularJS的插件 图片视频类 angular-maxonry 图片墙效果插件,可以将图片组织成类似于瀑布流的效果,依赖于jQuery.imageloaded

AngularJS 常用模块书写建议

本文是依据 Angular Style Guide 对 Angular 常用模块书写建议的翻译和总结,仅供参考. IIFE 使用 立即执行函数表达式(Immediately Invoked Function Expression)将 Angular 组件包裹起来,防止污染全局作用域 Style Y010 . 123456789101112131415161718192021222324 /* avoid */// storage.jsangular .module('app') .factory

AngularJS常用Directives实例

在第一篇 认识AngularJS 中,我们已经基本了解了AngularJS,对Directive也有了一定了解,本章我们将继续介绍Directive,对其有一个更深入的了解和掌握. 常用的Directives 除了第一篇中已提到过的: ng-app, ng-controller, ng-show(与之对应的当然还有ng-hide)这几个内建的Directive之外,我们还将了解另外几个非常常用的Directive. 1. ng-repeat (根据集合重复创建制定的模板): 1 <!DOCTYP

AngularJS常用插件与指令收集

使用AngularJS有差不多一年时间了,前前后后也用了不少库和指令,整理了一下,分成四大类列出.有demo地址的,就直接连接到demo地址,其它的直接链到github托管库中. 图片视频类 angular-maxonry 图片墙效果插件,可以将图片组织成类似于瀑布流的效果,依赖于jQuery.imageloaded和Masonry angular-deckgrid 另一个照片瀑布流解决方案 ngImgCrop 图片剪裁工具 ngVideo 播放器,直接播放指定地址的mp4,控制按钮美观度远甩朝

走进AngularJs(六) 服务

今天学习了一下ng的service机制,作为ng的基本知识之一,有必要做一个了解,在此做个笔记记录一下. 一.认识服务(service) 服务这个概念其实并不陌生,在其他语言中如java便有这样的概念,其作用就是对外提供某个特定的功能,如消息服务,文件压缩服务等,是一个独立的模块.ng的服务是这样定义的: Angular services are singletons objects or functions that carry out specific tasks common to web

创业公司常用服务

国内创业公司常用的服务 基础服务 Domain Namecheap NameSilo Name.com 别去 Godaddy DNS DNSPod VPS Linode UCloud QingCloud 别用 Paas CDN 七牛 协作服务 Source Code Hosting Stash Github Organization Github Enterprice Bitbucket Communication Slack HipChat Google Hangout Skype QQ Do

AngularJS 常用的功能

第一 迭代输出之ng-repeat标签ng-repeat让table ul ol等标签和js里的数组完美结合 例: <ul><li ng-repeat="person in persons">{{person.name}} is {{person.age}} years old.</li></ul> ps:可以指定输出的顺序<li ng-repeat="person in persons | orderBy:'name'&

angularJs自定义服务

在AngularJS中,系统内置的服务都是以$开头,所以我们的自定义服务尽量避免以$开头.自定义服务的方式有如下几种: 使用Module的provider方法 使用Module的factory方法 使用Module的service方法 使用provider方法 app.provider('myProvider', function () { this.$get = function () { //do somthing }; }); 通过provider方法创建的服务一定要包含$get方法,pr