单页面(Single Page Application)简称 SPA,是通过异步实现的
//监听 hash 值的变化 从 # 算锚点 锚点之后的是 哈希值
window.addEventListener('hashchange',function(){
//获取 hash 值,用 Location
var hash = location.hash;
//去掉 前面的 #
hash = hash.slice(1);
//ajax 异步请求
var xhr = new XMLHttpRequest();
//创建链接
var url = 'single.php?hash=' + hash;
xhr.open('get',url,true);
xhr.send();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
var res = xhr.responseText;
document.querySelector('.content').innerHTML = res;
}
}
})
自定义服务
factory 与 service 的区别
factory 是 类似字面量方式创建对象
var person = {};
app.controller('myController',['myFac','myFac2','myServ',function(myFac,myFac2,myServ){
myFac.show();
myFac2();
}])
app.factory('myFac',function(){
function show(){
}
return {
show:show
}
})
app.factory('myFac2',function(){
return function(){
alert('show2');
}
})
service 是构造函数方式创建对象
var person = new Person();
app.service('myServ',function(){
this.show3 = function(){
alert('show3');
}
})