`
任清宇
  • 浏览: 21787 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

angular js 数据双向绑定 

阅读更多
1	<!doctype html>
2	<html ng-app="MyModule">
3	<head>
4	<meta charset="utf-8">
5	</head>
6	<body>
7	<div ng-controller="HelloAngular">
8	<p>{{greeting.text}},Angular</p>
9	</div>
10	</body>
11	<script src="js/angular-1.3.0.js"></script>
12	<script src="HelloAngular_MVC.js"></script>
13	</html>

 

1	var myModule = angular.module('MyModule', []);
2	myModule .controller('HelloAngular', ['$scope',
3	$scope.greeting = {
4	text: 'Hello'
5	};
6	]);
7

 运行结果:Hello,Angular


解读:这里的"{{}}"相当于"ng-model"指令,其实就是一种绑定,但是仅从这个例子,不能说实现了双向数据绑定。这里是将AngularJS的数据模型(Model)的值绑定到了视图(View)上了,如果html文件中没有引入

1	<script src="HelloAngular_MVC.js"></script>

 则通过运行发现界面实现的是:{{greeting.text}},Angular

<!--StartFragment-->

也就是说AngularJS的scope中的模型值没有绑定到前台界面html中。反之,引入了HelloAngular_MVC.js,则实现在前端界面中映射到了数据模型数据。

 

上面介绍的不能算是双向数据绑定,下面引出真正的双向绑定,那么双向数据绑定有何应用场景,什么样的情况需要数据模型与视图能够相互映射相互影响呢,可能是你没有察觉,现在很多的网站都能看到这种思想带来的极大便捷,比如说表单,在填写或提交表单时,界面上会根据用户的操作做出及时的相应,这就是一种双向数据绑定的最有力的应用场景。

1	<!doctype html>
2	<html ng-app="MyModule">
3	<head>
4	<meta charset="utf-8">
5	</head>
6	<body>
7	<div ng-controller="HelloAngular">
8	<input ng-model="greeting.text"/>
9	<p>{{greeting.text}},Angular</p>
10	</div>
11	</body>
12	<script src="js/angular-1.3.0.js"></script>
13	<script src="HelloAngular_MVC.js"></script>
14	</html>

 

1	var myModule = angular.module('MyModule', []);
2	myModule .controller('HelloAngular', ['$scope',
3	$scope.greeting = {
4	text: 'Hello'
5	};
6	]);
7

 运行结果:


注意:这个例子很好地诠释了什么是双向绑定。

首先在html中声明了两个标签:一个输入框<input>和一个段落标记<p>。

显然采用了两种绑定的方式:{{}}和ng-model,但是功能都是数据绑定,与js文件中控制器中的greeting.text进行了绑定。所以,通过js中greeting.text的赋值会使得前台Html中input和p同时显示“Hello”

这一步完成的是AngularJS的scope中的数据模型绑定了的前台View中,那么前台的数据变化是否会影响到数据模型,通过改变input中的值,我们得到结果:

在输入框中的任何输入都会及时的反应在下面的段落中,这也说明了在Html中改变数据也会及时的映射到后台数据模型,真正的实现了双向数据绑定。

分享到:
评论

相关推荐

    Angular JS数据的双向绑定详解及实例

    Angular JS数据的双向绑定 接触AngularJS许了,时常问自己一些问题,如果是我实现它,会在哪些方面选择跟它相同的道路,哪些方面不同。为此,记录了一些思考,给自己回顾,也供他人参考。 初步大致有以下几个方面: ...

    js实现数据双向绑定

    **JavaScript 实现数据双向绑定** 数据双向绑定是前端开发中的一个重要概念,它使得视图(View)和模型(Model)之间的数据保持同步,当模型改变时,视图自动更新,反之亦然。这一特性在现代Web应用框架如Angular、...

    理解Angular数据双向绑定

    Angular实现了双向绑定机制。所谓的双向绑定,无非是从界面的操作能实时反映到数据,数据的变更能实时展现到界面。 一个最简单的示例就是这样: &lt;span ng-bind=counter&gt;&lt;/span&gt; &lt;button ng-click=counter++&...

    MVVM实现数据双向绑定

    实现数据双向绑定有多种方式,这里以流行的MVVM框架如Angular、React和Vue为例进行说明: - **Angular**:Angular的双向数据绑定是通过`ngModel`指令实现的。在HTML模板中,我们可以将`ngModel`绑定到ViewModel的...

    Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)

    总的来说,Vue的双向数据绑定利用了JavaScript的访问器属性和响应式系统,实现了高效、灵活的数据同步,而Angular则依赖于脏检查机制。理解这些原理对于优化代码和提升应用性能至关重要。通过合理运用Vue的特性,...

    jquery,js简单实现类似Angular.js双向绑定

    总结来说,虽然使用jQuery和JavaScript实现类似Angular.js的双向绑定功能需要手动编写事件监听和更新DOM的代码,但这样做可以让我们更好地理解和控制数据在页面上的流动。而对于现代Web应用,推荐使用原生JavaScript...

    双向绑定例子

    在编程领域,双向绑定(Two-Way Data Binding)是一种数据管理技术,常见于现代Web开发框架和库中,如Angular、Vue.js和React等。它将用户界面(UI)组件的状态与应用程序的数据模型紧密地连接起来,使得两者之间的...

    angular+bootstrap的双向数据绑定实例

    在本文中,我们将深入探讨AngularJS(通常称为Angular)与Bootstrap结合使用的双向数据绑定概念。双向数据绑定是Angular的核心特性之一,它使得视图(View)和模型(Model)之间的数据同步变得非常简单。Bootstrap则...

    AngularJS 双向数据绑定详解简单实例

    angular的双向数据绑定,个人理解是,通过model建立数据模型,那么视图上的数据就会对应存储在angular程序里,视图上的数据变化会同步到model,model的数据改变也会同步到视图。 下面的demo演示: &lt;!DOCTYPE ...

    实现非常简单的js双向数据绑定

    通过上述方法,我们可以利用现有的JavaScript库,如jQuery,来模拟框架中的双向绑定功能,从而实现界面与数据之间的动态同步。这些基础知识不仅帮助我们更好地理解框架,也为我们在框架之外解决问题提供了更多的可能...

    轻松实现javascript数据双向绑定

    ### 实现JavaScript数据双向绑定详解 #### 一、引言 在现代Web开发中,数据绑定是一项非常重要的技术,特别是对于提高用户界面的响应性和减少编程复杂性方面尤为重要。双向数据绑定更是许多前端框架(如Angular.js...

    angular js代码食谱(recipes with angular js)

    1. **双向数据绑定**:Angular JS 的核心特性之一,它使得视图和模型之间的数据能够实时同步。书中通过实例解释了如何创建 `$scope` 对象以及使用 `{{ }}` 模板语法来实现数据绑定。 2. **指令系统**:Angular JS ...

    Angular表单数据模型之双向绑定(MVVM)实现ToDoList功能

    在上述示例中,`[(ngModel)]`是Angular提供的双向绑定语法,它将输入框的值与组件的`searchTerm`属性绑定。当用户在输入框中输入内容时,`searchTerm`会实时更新。当用户点击搜索按钮时,`onSearch`方法会被触发,...

    实例剖析AngularJS框架中数据的双向绑定运用

    AngularJS框架中的数据双向绑定是该框架的核心特性之一,它极大地简化了Web应用开发中的数据同步问题。在双向绑定机制中,视图(View)与模型(Model)之间可以自动同步,当模型变化时,视图会自动更新,反之亦然。...

    微信小程序之数据双向绑定与数据操作

    数据双向绑定是MVVM(Model-View-ViewModel)结构的前端框架的标志性特征,例如Angular、Vue.js、React等框架都有数据双向绑定的机制。下面以一个列表为例子来说明数据双向绑定及数据的操作。 数据双向绑定的实现 ...

    vue数据双向绑定原理解析(get & set)

    与Angular中的双向绑定相比,Vue.js并不采用脏检查机制,Angular的脏检查会定时检查数据变化,性能上可能会有损耗,尤其是在数据结构较大或者频繁更新时。Vue.js则直接利用JavaScript的Object.defineProperty特性,...

Global site tag (gtag.js) - Google Analytics