zoukankan      html  css  js  c++  java
  • anjularjs常用的内置方法

    1.$apply

      anjularjs通过$apply方法去执行脏检查,及时告诉model绑定变量更新。

      示例:定义一个date变量显示在页面上,它的控制器是firstCtrl,这个date变量有一个时钟功能,每一秒变一次。

        页面上:

          <div ng-controller="firstCtrl">

            {{date}}

          </dv>

        Controller.js:

          var firstCtrl=function($scope){

            $scope.date=new Date();

            setInterval(function(){

              $scope.$apply(function(){

                $scope.date=new Date();

              });    

            });

          }

    2.$watch

      使用watch手动的监听某个基本变量或者对象变量,当变量或者对象变量改变的时候去触发某些事件。

      示例:监听name变量的变化,当name变量的变化超过30次,就不让其变化,并一直保持某个值。

        页面上:

          <div ng-controller="firstCtrl">

            <input type="text" ng-model="name"></input>

            {{name}}

          </div>

        controller.js:

          var firstCtrl=function($scope){

            $scope.name='小明';

            $scope.count=0;

            $scope.$watch('name',function(newValue,oldValue){

              ++$scope.count;

              if(scope.count>30){

                $scope.name='watch方法监听name变化超过30次之后不让其改变!';

              }

            });

          }

        注意:也许你会有这样的疑惑,$apply方法是触发脏检查的,但是watch方法里面的name变量和count居然也能自动变化?其实在apply方法去触发脏检查的时候,

        也是通过watch方法找到digest方法去判断并更新model的,所以道理是相同的。

        

  • 相关阅读:
    mybatis批量更新报错
    Axure8破解码
    小程序开发-Step1
    2018新年计划
    java 写 Excel(不生成实体文件,写为流的形式)
    git 生成公钥 使用命令行无需输入用户名密码(windows)
    Node.js:上传文件,服务端如何获取文件上传进度
    Express:模板引擎深入研究
    windows下nginx的安装及使用
    Chrome开发者工具详解-Network面板
  • 原文地址:https://www.cnblogs.com/bzx888/p/5405039.html
Copyright © 2011-2022 走看看