`
moneyinto
  • 浏览: 33308 次
  • 性别: Icon_minigender_1
  • 来自: 东台
社区版块
存档分类
最新评论

AngularJs路由和双向绑定

阅读更多

AngularJs用的是前端路由,页面是一个单页面,先对指定的ng-app,定义路由规则(routeProvider),然后通过不同的URL,告诉ng-app加载哪个HTML,渲染到视图(ng-view)上。

 

使用路由机制:

$routeProvider提供了定义路由表的两个核心方法when(path,route)和otherwise(params)

首先看when(path,route),它当中的path与($location.path)的值进行匹配,如下:

})
   .when('/about', {
   templateUrl: 'views/about.html',
   controller: 'AboutCtrl'
})

 

$location.path('about');

 注:path是一个string类型。

otherwise(params)对当路由匹配不到时,可以配置以redirectTo参数,如下:

.otherwise({
   redirectTo: '/'
});

 在主视图中指定加载子视图的位置:

<div ng-view></div>

 这样子视图就会被引入进来,渲染到页面

 

总的来说包括以下内容:

$routeProvider用来定义一个路由表

$routeParams保存了地址栏中的参数

$route完成路由匹配,并且提供路由相关的属性访问及事件

指令ngView用来在主视图中指定加载子视图的区域

 

 

AngularJs的双向绑定

双向绑定,一种是数据从模型到视图方向的绑定,一种是数据从视图到模型方向的绑定。

AngularJs是如何实现双向绑定的呢?这里要涉及到$scope者个作用域,它就相当于模型和视图间数据传递的中间者。$scope中存储了很多东西,模型可以在$scope中存入数据,视图可以直接在$scope中获取模型存入的数据,并加载到页面上,反之亦如此。

下面先来看一个数据从模型到视图的绑定:

$scope.activities = [1,2,3,4];     
//将一个数组存入了$scope,可以通过console.log($scope)查看

 

<p ng-repeat = "activity in activities">{{activity}}</p>   
 //在页面上显示绑定数据通过{{}}实现

 再来看看数据从视图到模型的绑定:

<input ng-model="activityName">    //当输入值时,对应的$scope中的值会随着改变

 

var activityName = $scope.activityName;

 双向绑定,当模型的发生改变,对应的页面也会同时更新,当页面的值发生改变,对应的模型也会变化。

 

分享到:
评论

相关推荐

    AngularJS路由实现页面跳转实例

    它支持双向数据绑定、依赖注入以及模块化等特性,可以帮助开发者快速开发和测试Web应用。在AngularJS中,路由的概念是实现单页面应用的关键组件之一,它允许用户在不同的视图间切换,而无需重新加载整个页面,从而...

    angularJs权威和精通angularjs

    AngularJS的一大特色是其双向数据绑定功能,它自动保持视图和模型的同步。当用户界面发生改变时,模型会自动更新;反之亦然。这一特性简化了开发者的工作,减少了手动操作DOM的需要。 **2. 依赖注入:** AngularJS...

    详解JavaScript的AngularJS框架中的作用域与数据绑定

    数据绑定可以分为单向绑定和双向绑定。 单向绑定是指当数据源发生变化时,视图会相应地更新,但视图的变化不会反馈到数据源。单向绑定通常用于显示数据,例如,将模型数据绑定到视图层的控件中。在AngularJS中,...

    带有经典ASP.NET MVC应用程序的Angularjs路由配方

    7. **数据绑定和交互**:AngularJS的双向数据绑定使得前端视图和后台数据模型可以自动同步,简化了用户界面和服务器之间的通信。 8. **最佳实践**:包括使用模块化结构组织代码,确保路由安全,以及优化性能,如...

    Angularjs+路由 + vs+。net+web项目

    这些框架提供了强大的模型绑定、路由和控制器功能,与AngularJS的前端路由相辅相成,实现前后端的协调。 Visual Studio是开发.NET应用的理想选择,它提供了丰富的集成开发环境,包括代码编辑、调试、版本控制、项目...

    AngularJS 1.2.19&1.3.0

    1. 双向数据绑定:AngularJS通过双向数据绑定连接了视图和模型,当模型改变时,视图会自动更新,反之亦然。这大大减少了开发者手动同步视图和模型的工作。 2. 指令系统:AngularJS的指令系统允许开发者创建自定义的...

    AngularJS 中文版

    AngularJS支持客户端数据绑定和依赖注入,这使得开发者可以轻松地构建响应式数据视图而无需额外的插件或扩展程序。 - **适用场景**:适用于需要快速构建交互性强、数据驱动的应用场景。由于其强大的数据绑定和依赖...

    精通angularjs pdf 和 源码

    它通过数据绑定和依赖注入等核心特性,极大地简化了MVC(Model-View-Controller)架构的应用开发,尤其适合构建动态、交互性强的单页应用(SPA,Single-Page Applications)。本资源《精通AngularJS》结合PDF文档和...

    AngularJS详细使用说明从零到高

    它通过数据绑定和依赖注入等机制,使得开发者无需编写大量重复代码即可实现动态功能。 #### 二、AngularJS的核心特性 AngularJS的主要特性包括: - **数据绑定**:AngularJS提供了双向数据绑定的功能,这意味着...

    Learning AngularJS.pdf (0分下载网)

    - **双向数据绑定**:AngularJS提供了双向数据绑定功能,使得开发者可以轻松地在视图与模型之间同步数据,从而减少了手动更新DOM的需要。 - **依赖注入**:AngularJS采用依赖注入模式,这有助于开发者更轻松地管理和...

    AngularJS开发指南.pdf

    1. 双向数据绑定(Two-way Data Binding):AngularJS应用中数据绑定是自动进行的,当模型中的数据发生变化时,视图会自动更新,反之亦然。这大大简化了DOM操作和状态管理。 2. 模块化(Modularity):在AngularJS...

    组件式AngularJS应用示例Phonecat用现代Javascript和Webpack实现

    AngularJS的数据双向绑定使得模型和视图之间的同步变得简单。在Phonecat中,当用户在搜索框输入时,视图会实时更新,显示匹配的手机。这种实时的反馈提高了用户体验。 ### 7. HTTP请求和数据服务 为了获取和处理...

    Angularjs 合集 Angularjs 合集

    AngularJS的核心特性包括双向数据绑定、依赖注入、指令系统、过滤器和服务等。例如,双向数据绑定使得视图与模型之间的数据同步变得极其简单,而依赖注入则允许开发者轻松管理组件间的依赖关系,提高代码的可测试性...

    angularjs1.2最新

    3. **数据绑定**:AngularJS的双向数据绑定是其标志性特点,它简化了视图与模型之间的同步。1.2版本对这一特性进行了优化,提高了绑定效率,减少了不必要的DOM操作。 4. **指令系统**:AngularJS的指令用于扩展HTML...

    AngularJS书两本

    首先,《AngularJS_权威教程》可能涵盖了AngularJS的基础概念和核心特性,包括双向数据绑定、依赖注入、指令系统、服务、过滤器等。双向数据绑定是AngularJS的核心特性之一,它使得模型和视图之间的数据同步变得极其...

    基于Angularjs制作的幻灯片

    AngularJS通过其数据绑定和指令系统提供了解决这一问题的新方法。数据绑定允许开发者将HTML视图与应用程序的数据模型直接关联,而指令则可以扩展HTML语法,实现自定义的行为。 在“AngularjsSlider-master”这个...

    angularjs1.2.2

    7. **$scope**:Controller与视图之间的桥梁,负责数据的绑定和事件的传播。1.2.2版本中的$scope增加了`$watch`和`$digest`的性能优化,降低了内存占用。 8. **过滤器**:过滤器用于格式化和转换数据,如日期、货币...

    Angularjs和ui-router的一个栗子

    默认的AngularJS路由模块ngRoute可以实现基本的路由需求,但当项目变得复杂,涉及到多个视图和嵌套路由时,UI-Router就显得更为强大。 UI-Router的核心概念包括状态(States)和视图(Views)。状态定义了应用的...

Global site tag (gtag.js) - Google Analytics