AngularJS学习之数据绑定

既然AngularJS是以数据作为驱动的MVC框架,在上一篇文章中,也介绍了AngularJS如何实现MVC模式的,所有模型里面的数据,都必须经过控制器,才能展示到视图中。

什么是数据绑定

首先来回忆一下MVC模式在AngularJS中的体现,我将会拿下面这张图片来说明。

数据绑定.PNG

一个模型中可能有多个数据,通过控制器,展示到视图的过程中,控制器要知道每一个数据,具体要放到视图中的哪个位置,所以,模型数据与视图位置的关联关系就是数据绑定。

单向绑定

AngularJS中的单向绑定指的是从模型数据到视图模板的单向过程。
具体实现是使用指令ng-bind还有{{}}
而其中这两个方法的区别是使用{{}}会出现闪烁现象,因为加载顺序的问题,浏览器刚开始加载不认识{{}}里面的数据,等过了一会,控制器加载出来之后,才识别到那个数据,所以会出现闪烁现象,解决闪烁现象的方法是使用指令ng-cloak

<ul ng-controller="DemoController">
         <!--ng-bind将模型上的数据绑定到视图上-->
         <li ng-bind="name"></li>
</ul>
<script src="node_modules/angular/angular.min.js"></script>
     <script>
         var App = angular.module('App',[]);
         App.controller('DemoController',['$scope',function($scope){
             $scope.name = 'itcast';
         }]);
    </script>

双向绑定

AngularJS其中一个重要的特性就是双向数据绑定,实现的方法是通过为表单元素使用ng-model指令将试图模板上的值绑定到模型数据上,结合之前的单向绑定方法,实现数据的双向绑定,具体看一下例子

<ul ng-controller="DemoController">
         <input type="text" ng-model="name"/>
         <p>{{name}}</p>
</ul>
<script src="node_modules/angular/angular.min.js"></script>
     <script>
         var App = angular.module('App',[]);
         App.controller('DemoController',['$scope',function($scope){
             $scope.name = 'itcast';
         }]);
     </script>

此时打开浏览器,你在输入框中的任何变化,都会表现在<p>标签里面,这就是因为ng-model将输入框中的值绑定到了模型数据里的name属性上,实现了双向数据 绑定。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • AngularJS AngularJS概述 介绍 简称:ng Angular是一个MVC框架 其他前端框架: Vu...
    我爱开发阅读 6,857评论 0 8
  • 1. 介绍 AngularJS是一款由Google公司开发维护的前端MVC框架,其克服了HTML在构建应用上的诸多...
    崔皓翔阅读 4,308评论 0 5
  • AngularJS是什么?AngularJs(后面就简称ng了)是一个用于设计动态web应用的结构框架。首先,它是...
    200813阅读 5,581评论 0 3
  • 新人产品分析——第三步(1) 分析的总结和整理 之前分析了产品的设计、交互、运营和商业模式,基本上对分析的产品有了...
    Lzer0阅读 2,415评论 0 0
  • 记得当初就是为了参加老师的特训班,跟老师联系,如今终于如愿以偿。听了两遍王老师的课程,几个小时不觉得累,觉得还有落...
    王芳_d39c阅读 1,846评论 14 13

友情链接更多精彩内容