首页 > 代码库 > angular和web前端的一些细节
angular和web前端的一些细节
HTML5中的本地存储
localStorage:一直存储在本地
sessionStorage:伴随着session,窗口关闭就没了
用法:localStorage.setItem("key","value")//设置变量
localStorage.getItem("key")//获取变量
localStorage.removeItem("key")//清除变量
angularJS中scope和rootscope的区别
scope:用于单个html与controller之间的数据绑定
rootscope:其中定义的值可以在各个controller中使用
在所有的模板中使用$root.key来使用。
angularJS中的$resource
创建资源对象的工厂。允许与服务器端数据资源进行交互
$resource的用法:
$resource(url,[paramDefaults],[actions],options);
url:url模板,参数以:为前缀,如http://example.com/resource/:resource_id.:format
paramDefault:url参数中的默认值,json格式,如
{
callback: ‘JSON_CALLBACK‘,
stamp: Date.now() + ‘‘ + Math.random(),
action: ‘@action‘
}
action:声明扩展默认资源动作集合的自定义的动作集合
{action1: {method:?, params:?, isArray:?, headers:?, ...},
action2: {method:?, params:?, isArray:?, headers:?, ...},
...}
其中:action为动作名,成为资源对象的方法名
method:HTTP请求方法(GET,POST,JSONP。。。)
params:提前绑定的参数
$resource的使用:
假设其url中有参数id,
.factory(‘Order‘, [‘$resource‘, function($resource) {
return $resource(‘/v1/order/:id‘, { id: ‘@id‘ }
}
.controller(‘XXX‘,[‘$scope‘,‘Order‘,function(){
$scope.order = Order.get({ id: $routeParams.id });
}])
extends的使用
qs = angular.extend(qs, {type: ‘pguid‘});
为qs对象添加新的元素。
内置服务$location
暴露浏览器地址栏中的URL
使用:得到url:
$location.path();
改变url:
$location.path(‘/value‘)
得到get传送的变量:
var search = $location.search();
search.force//url?force=1
当我们调用url()方法时,
返回的是包含path、search和hash部分的已经编码的url,
如/path?search=1&b=c#hash。