Angularjs的理解和认识

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中的scope对象的属性如果想要修改view中显示的数据,只要修改scope的属性值即可

想要获取页面中控件的值,也只需要获取到$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()路由url方式:location.path()

其他页面:window.location.href = ‘url’

4.需要理解angularjs是单页面web应用,相当于所有的页面是一个整体页面,但是由不同的controller控制页面中的一些对象

5.路由中的#是可以去掉的

时间: 2024-11-01 09:09:42

Angularjs的理解和认识的相关文章

AngularJS 深入理解 $scope 转载▼

AngularJS 深入理解 $scope 转载▼ (2015-04-07 14:09:50) $scope 的使用贯穿整个 AngularJS App 应用,它与数据模型相关联,同时也是表达式执行的上下文.有了$scope 就在视图和控制器之间建立了一个通道,基于作用域视图在修改数据时会立刻更新 $scope,同样的 $scope发生改变时也会立刻重新渲染视图. 有了 $scope 这样一个桥梁,应用的业务代码可以都在 controller 中,而数据都存放在controller 的 $sco

AngularJs的理解

随着时代的不断进步,各种各样的开发理念与开发框架不断的提出与发展,目前来说,除了游戏,QQ,office这类软件之外,新出的一些软件应用开始出现两个方向,一个是以web为主的webApp,一个是以移动端为主的移动APP,且,现有也有一种声音认为webapp早晚会取代移动端原生APP,从而一统计算机软件的应用方式,暂且不论这种说法是否会成为现实,webapp的火爆可见一斑. 下面是我对angularJS的一些见解: Angular 是一款主旋律的 MVVM 框架,框架和传统的库不同: 类库 是一些

angularJS MVC理解

AngularJS   MVC 简单理解 什么是MVC? MVC其实就是一种开发模式,有模型(model).视图(view).控制器(controller)3部分构成,采用这种方式为合理组织代码提供了方便,降低了代码间的耦合度,功能结构清晰可见. Model:一般用来处理数据,包括读取和设置数据,一般指的是操作数据库. View: 一般用来展示数据,就是放数据,比如通过HTML来展示. Controller:因为一个模块里面可能有多个视图和模型,控制器就起到了连接模型和视图的作用.   MVC指

AngularJS 深入理解 $scope

$scope 的使用贯穿整个 AngularJS App 应用,它与数据模型相关联,同时也是表达式执行的上下文.有了$scope 就在视图和控制器之间建立了一个通道,基于作用域视图在修改数据时会立刻更新 $scope,同样的$scope 发生改变时也会立刻重新渲染视图. 有了 $scope 这样一个桥梁,应用的业务代码可以都在 controller 中,而数据都存放在controller 的 $scope中. $rootScope AngularJS 应用启动并生成视图时,会将根 ng-app 

对 AngularJs 的理解

简单学习了一下anguarJs,以下是我对angularJs的简单理解和与Jquery的对比,自己记录下来,日后深入学习时以便参考.注:未通过砖家验证,有不对之处望指正. 1.Jquery与AngularJS dom操作的区别 Jquery 对于Document的操作模型如下: AngularJs的数据双向绑定模型如下(仅仅是个示意图): 通过图形比较,可以很容易看出,jquery提供灵活的API,并且底层 有一定的优化处理,但本质上是指令级别的分散操作API,业务逻辑和Dom操作逻辑都开放给开

angularjs基本理解

介绍一点angularjs的基础入门知识点! 1.viewModel:是一个用来提供特别数据和方法从而维护view的对象,viewModel是$scope的对象,只存在于angularjs中,$scope是一个简单的js对象. 2.model:是应用中的简单数据,一般是简单的js对象. 3.controller:负责初始化状态和参数化$scope方法用以控制行为.但是$scope并不保存状态也不和远程服务互动. 4.view :view是Angularjs解析后渲染和绑定后生成的HTML: ps

AngularJS控制器--理解小结

AngularJS的控制器是一个函数,用来向视图的作用域添加功能,可用控制器给作用域对象设置初始状态,并自定义行为. 当在页面上创建一个新的控制器,Angular会生成并传递一个新的$scope给这个控制器,可在其中初始化$scope, 由于Angular会负责处理控制器的实例化过程,我们只需编写构造函数. function firstController($scope){ $scope.message="hello"; } 但是上述写法是在全局作用域中创建的函数,这样会污染全局命名空

AngularJS模块——理解小结

在JS中,将函数代码全部定义在全局命名空间上是很不明智的. 在Angular中,将控制器代码封装在模块(module)单元中. 在AngularJs中,模块是定义应用的最主要的方式,模块里面存放了主要的应用代码, 一个应用可以包含多个模块,每一个模块都包含了定义了具体功能的代码. 使用模块的有点:1.可以保持全局命名空间的清洁 2. 应用可以以任何的顺序加载代码的各个部分 AngularJS中声明模块:   angular.module(name,requires), angular.modul

AngularJS中的$watch(),$digest()和$apply()

AngularJS $scope里面的$watch(),$digest()和$apply()是AngularJS的核心函数,学习AngularJS必须理解这几个函数. 在绑定$scope中的变量到view的时候,AngularJS自动在内部创建一个"Watch"."Watch"用于监听AngularJS scope中变量的改变.可以通过调用$scope.$watch()这个方法来创建"Watch". $scope.$digest()函数会循环访问