码迷,mamicode.com
首页 > Web开发 > 详细

Angularjs的理解和认识

时间:2016-05-07 08:28:49      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:

1.AngularJS的双向数据绑定
/tpl下的html文件属于是模板
每个模板都会对应一个controller.js文件
页面通过ng-controller=”controllerName”来绑定controller
通过config.router.js中的
.state(‘app.dashboard-v1’, {
url: ‘/dashboard-v1’,
templateUrl: ‘tpl/app_dashboard_v1.html’,
resolve: load([‘js/controllers/chart.js’])
})
resolve选择依赖关系的js
在这个view被打开时就会加载这个js文件
所以用到的一些组件,controller,就在这时加载。
页面中会绑定ng-model,或者{{model.name}},ng-click等
这些都是已经绑定的controller中的scopeviewscope的属性值即可
想要获取页面中控件的值,也只需要获取到$scope的属性就可以了
2.路由拦截
config.router.js
在所有要访问的页面中拦截验证
验证不通过跳转到登陆界面

//添加路由拦截,stateChangeStart,状态开始改变的时候执行的方法
rootScope.on(‘stateChangeStart,function(event,toState,toParams,fromState,fromParams)// //console.log(toState.name);if(toState.name==access.signin)return;// varuser=$cookies.getObject(user);//console.log(user);if(!user||!user.token)console.log(gohome);event.preventDefault();//$state.go(access.signin,from:fromState.name,w:notLogin);//elseif(!localStorage.getItem(hasRouter))$state.go(app.dashboard?v1,from:fromState.name,w:notLogin,user:user);//);rootScope.on(stateChangeSuccess”, function(evt, to, toP, from, fromP) { console.log(“Success: ” + message(to, toP, from, fromP)); });
rootScope.on(“stateChangeError,function(evt,to,toP,from,fromP,err)console.log(Error:+message(to,toP,from,fromP),err););//console.log(rootScope);

如果路由不存在执行的方法
var hasRouter = true;
urlRouterProvider.otherwise(function(injector, location){location.path(‘/access/signin’);
hasRouter = false;
});
localStorage.setItem(‘hasRouter’,hasRouter);

3.页面跳转方法,
state方式:state.go()urllocation.path()
其他页面:window.location.href = ‘url’
4.需要理解angularjs是单页面web应用,相当于所有的页面是一个整体页面,但是由不同的controller控制页面中的一些对象
5.路由中的#是可以去掉的

Angularjs的理解和认识

标签:

原文地址:http://blog.csdn.net/sinat_29843547/article/details/51334710

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!