全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解Angular的双向数据绑定(MV-VM)

angular的核心MVVM,下面来看看MV(数据到视图)。

<div ng-controller="Aaa">
  <p>{{name}}</p>
</div>
<script type="text/javascript">
  function Aaa($scope){
     $scope.name = 'hello AngularJs';
    setTimeout(function(){
      $scope.name = 'Hi';
     },2000); 
  };
</script>

执行上面代码,我们使用setTimeout延迟两秒去更新数据(M),我们的视图(V)并没有发生改变。

其实数据确实发生改变,但是我们的视图(V)并没有及时刷新,原因是原生的setTimeout不具备刷新的功能。

angular为我们提供了setTimeout的服务,$timeout,需要在Aaa中引入该服务 !

<div ng-controller="Aaa">
  <p>{{name}}</p>
</div>
<script type="text/javascript">
  function Aaa($scope,$timeout){
    $scope.name = 'hello AngularJs';
    $timeout(function(){
       $scope.name = 'Hi';
    },2000);
  };
<script>

这样就可以刷新视图了,M(数据)到V(视图)的过程。

如果我也想让setTimeout也具有刷新视图的功能怎麽办 ? 可以借助$apply方法!

<div ng-controller="Aaa">
  <p>{{name}}</p>
</div>
<script type="text/javascript">
  function Aaa($scope){
    $scope.name = 'hello AngularJs';
    setTimeout(function(){
      $scope.$apply(function(){
        $scope.name = 'Hi';
      });
    },2000);
  }
<script>

也能实现刷新视图!

在举个例子:

<div id="Aaa" ng-controller="Aaa" ng-click="name='Hi'">
  <p>{{name}}</p>
</div>
<script type="text/javascript">
  function Aaa($scope){
    $scope.name = 'hello AngularJs';
  };
</script>

我们在ID为Aaa的元素绑定了一个点击事件,当发生点击的时候将name值改为Hi,

当然,也可以传递一个函数,来实现更多的功能。

<div id="Aaa" ng-controller="Aaa" ng-click="show()">
  <p>{{name}}</p>
</div>
<script type="text/javascript">
  function Aaa($scope){
    $scope.name = 'hello AngularJs';
    $scope.show = function(){
      $scope.name = 'Hi';
    };
  }
</script>

看到了click,相信你也知道如何使用鼠标移入和移出的这些常用的事件了。

看最后一个例子,V(视图)到M(数据)的过程。

<div ng-controller="Aaa">
  <input type="text" ng-model="name"/>
  <p>{{name}}</p>
</div>
<script type="text/javascript">
  function Aaa($scope){
    $scope.name = 'hello AngularJs';
  };
</script>

我们在input标签上绑定了一个ng-model,这个就是绑定的数据,会默认填充到input的value上,当我们的input值发生改变的时候,对应在$scope中的数据也会发生改变,从而影响到视图中的p标签的值也会发生改变。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# Angular  # 数据绑定  # Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)  # AngularJS入门教程之数据绑定原理详解  # AngularJS入门教程之数据绑定用法示例  # AngularJS 双向数据绑定详解简单实例  # AngularJS实践之使用NgModelController进行数据绑定  # 详解JavaScript的AngularJS框架中的作用域与数据绑定  # angularjs学习笔记之双向数据绑定  # 也会  # 定了  # 我也  # 鼠标  # 也能  # 来看看  # 当我们  # 应在  # 影响到  # 想让  # 来实现  # 不具备  # 绑定  # 如何使用  # 你也知道  # 就可以  # 举个例子  # 看到了  # 移出  # 一个函数 


相关文章: 网站图片在线制作软件,怎么在图片上做链接?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  如何在Ubuntu系统下快速搭建WordPress个人网站?  建站ABC备案流程中有哪些关键注意事项?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  c# 在ASP.NET Core中管理和取消后台任务  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  北京网站制作网页,网站升级改版需要多久?  为什么Go需要go mod文件_Go go mod文件作用说明  建站之星在线客服如何快速接入解答?  建站之星代理如何获取技术支持?  如何快速搭建安全的FTP站点?  如何快速打造个性化非模板自助建站?  开源网站制作软件,开源网站什么意思?  广州美橙建站如何快速搭建多端合一网站?  宁波自助建站系统如何快速打造专业企业网站?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  建站之星后台密码遗忘?如何快速找回?  制作网站的公司有哪些,做一个公司网站要多少钱?  如何快速搭建高效香港服务器网站?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  安徽网站建设与外贸建站服务专业定制方案  如何零基础开发自助建站系统?完整教程解析  5种Android数据存储方式汇总  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何用VPS主机快速搭建个人网站?  宝塔新建站点为何无法访问?如何排查?  已有域名和空间如何搭建网站?  如何快速选择适合个人网站的云服务器配置?  如何快速启动建站代理加盟业务?  中山网站制作网页,中山新生登记系统登记流程?  如何快速完成中国万网建站详细流程?  定制建站方案优化指南:企业官网开发与建站费用解析  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  如何在阿里云香港服务器快速搭建网站?  如何快速搭建响应式可视化网站?  ,怎么用自己头像做动态表情包?  如何高效完成自助建站业务培训?  教程网站设计制作软件,怎么创建自己的一个网站?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?    php条件判断怎么写_ifelse和switchcase的使用区别【对比】  如何在Tomcat中配置并部署网站项目?  如何通过主机屋免费建站教程十分钟搭建网站?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  ,怎么在广州志愿者网站注册?  如何在Golang中引入测试模块_Golang测试包导入与使用实践 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。