angularjs - 为何要双向数据绑定

最典型的场景应该属于表单

类似表单表格之类的场景,展示与提交一般是同时存在的。

通常情况下,单向数据绑定即可解决业务需求,如数据库的内容绑定到html中展示到页面即可

但若需要设计提交功能,双向数据绑定就会发生很便捷的作用。

双向数据绑定指的是:当文本框(或其他绑定标签、控件)发生改变时,Model也会随之发生改变

这样的话。已更改的model可以立即提交无需通过繁琐的jquery获取dom和value操作

<!doctype html>
<html ng-app="UserInfoModule">

<head>
    <meta charset="utf-8">
    <link href="https://cdn.bootcss.com/bootstrap/3.6.6/css/bootstrap.min.css" rel="stylesheet">
</head>

<body>
    <div class="panel panel-primary">
        <div class="panel-heading">
            <div class="panel-title">双向数据绑定</div>
        </div>
        <div class="panel-body">
            <div class="row">
                <div class="col-md-12">
                    <form class="form-horizontal" role="form" ng-controller="UserInfoCtrl">
                        <div class="form-group">
                            <label class="col-md-2 control-label">邮箱:</label>
                            <div class="col-md-10">
                                <input type="email" class="form-control" placeholder="推荐使用126邮箱" ng-model="userInfo.email">
                            </div>
                        </div>
                        <div class="form-group">
                            <label class="col-md-2 control-label">密码:</label>
                            <div class="col-md-10">
                                <input type="password" class="form-control" placeholder="只能是数字、字母、下划线" ng-model="userInfo.pwd">
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-md-offset-2 col-md-10">
                                <div class="checkbox">
                                    <label>
                                        <input type="checkbox" ng-model="userInfo.autoLogin">自动登录</label>
                                </div>
                            </div>
                        </div>
                        <div class="form-group">
                            <div class="col-md-offset-2 col-md-10">
                                <button class="btn btn-default" ng-click="getFormData()">获取Form表单的值</button>
                                <button class="btn btn-default" ng-click="setFormData()">设置Form表单的值</button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script src="https://cdn.bootcss.com/angular.js/1.5.0/angular.min.js"></script>
    <script type="text/javascript">
    var UserInfoModule = angular.module(‘UserInfoModule‘, []);
    UserInfoModule.controller(‘UserInfoCtrl‘, ["$scope", function($scope) {
        $scope.userInfo = {
            email: "[email protected]",
            pwd: "123456",
            autoLogin: true
        }
        $scope.getFormData = function() {
            console.log($scope.userInfo);
        }
        $scope.setFormData = function() {
            $scope.userInfo = {
                email: "[email protected]",
                pwd: "123456123456123456123456",
                autoLogin: false
            }
        }
    }])
    </script>
</body>

</html>
时间: 2024-10-27 11:54:18

angularjs - 为何要双向数据绑定的相关文章

Angularjs中不同类型的双向数据绑定

Angularjs1.X中两种不同的双向数据绑定 聊聊 Angularjs1.x中那些活见鬼的事情. 一. html与Controller中的双向数据绑定 html-Controller的双向数据绑定,在开发中非常常见,也是Angularjs1.x的宣传点之一,使用中并没有太多问题. 1.1数据从html流向controller 也就是从视图层流向模型层,原生html中需要使用表单元素(例如input标签)来收集用户输入信息,Angularjs中通过在表单元素上使用ng-model标签,当用户输

angularjs学习笔记--主html&amp;template html&amp;module&amp;template js、模块、控制器、双向数据绑定、过滤器

// Register the `phoneList` component on the `phoneList` module, angular. module('phoneList'). component('phoneList', {...}); // Define the `phonecatApp` module angular.module('phonecatApp', [ // ...which depends on the `phoneList` module 'phoneList'

AngularJs——双向数据绑定示例

最近在做Hybird App,接触到了AngularJs,感觉用起来蛮爽的,今天share下AngularJs的核心功能之一:双向数据绑定. 我们在页面中加入一个表单: <!DOCTYPE html> <html ng-app="userInfoModule"> <head> <meta name="content-type" content="text/html; charset=UTF-8">

AngularJS入门心得2——何为双向数据绑定

前言:谁说Test工作比较轻松,最近在熟悉几个case,差点没疯.最近又是断断续续的看我的AngularJS,总觉得自己还是没有入门,可能是自己欠前端的东西太多了,看不了几行代码就有几个常用函数不熟悉的.看过了大漠的视频,算是了解了AngularJS的一些优良特性.后来准备投身<AngularJS权威教程>,跟着它走,可是一来可能自己道行不够,二来,个人觉得这本书翻译的有些生硬以及一些瑕疵,比如: (1)9.2节:在指令中适用自作用域 (2)9.2节:在指令中适用自作用域 当然,以上都是一些瑕

(八)简单了解下angularJS框架中NB的双向数据绑定机制,大大减少需要重复的开发代码量

之前写的第一篇angularJS入门文章 ,介绍ng-model的时候提到:使用angularJS的双向数据绑定机制,不需要我们编写繁琐的代码来实现同样的功能.现在我们看一个比较震撼的例子,看看angularJS是如何减少我们在前端开发中的繁琐劳动的.越是感受到框架功能的强大,越是能够激发学习的兴趣和动力. 假如我们有一个学生信息列表,包含学生的姓名.地址和年龄信息.假如这个数据源信息保存在data.js文件中. var g_phones = [ <span style="white-sp

4.AngularJS四大特征之二: 双向数据绑定

AngularJS四大特征之二: 双向数据绑定 (1)方向一:把Model数据绑定到View上--此后不论何时只要Model发生了改变,则View中的呈现会立即随之改变!实现方法: {{ }}.ngBind.ngRepeat.ngIf.ngSrc.ngStyle...都实现了方向1的绑定. (2)方向二:把View(表单控件)中修改绑定到Model上--此后不论任何时候,只要View中的数据一修改,Model中的数据会自动随之修改.实现方法:  只有ngModel指令. 提示:可以使用$scop

双向数据绑定---AngularJS的基本原理学习

Angular JS (Angular.JS) 是一组用来开发Web页面的框架.模板以及数据绑定和丰富UI组件.它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作. AngularJS非常小,仅仅有60K,兼容主流浏览器.与 jQuery 配合良好.双向数据绑定可能是AngularJS最酷最有用的特性,将MVC的原理展现地淋漓尽致. AngularJS的工作原理是:HTML模板将会被浏览器解析到DOM中, DOM结构成为AngularJS编译器的输入. AngularJS将会遍历D

angularJs初体验,实现双向数据绑定!使用体会:比较爽

使用初体验:ng 双向数据绑定: 最简单的双向数据绑定:(使用默认模块控制) <body ng-app> <input type="text" ng-model='ngName'> <h1>{{ngName}}</h1> </body> 完成对数据的初始化: //初始化原理:ng-app 初始完之后,就会往在ng-init里面赋值一个初始值:world , 这个值会自动绑定到下面 : <body ng-app ng-in

《AngularJS权威教程》中关于指令双向数据绑定的理解

在<AngularJS权威教程>中,自定义指令和DOM双向数据绑定有一个在线demo,网址:http://jsbin.com/IteNita/1/edit?html,js,output,具体代码如下: <!doctype html> <html ng-app="myApp"> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-