zoukankan      html  css  js  c++  java
  • $apply的使用与否

    $apply $digest 都是用来检测angularjs 的model变化的方法,一般情况下是不需要使用$apply, 因为angularjs 自己的双向绑定特性已经可以将改变的数据自动赋值给页面伤的变量,可是当有加载延迟的时候需要使用$apply来将数据进行绑定

    <!DOCTYPE>
    <html ng-app="applyAPP">
    <head>
    <meta charset="utf-8"/>
    <title>star-score</title>
    <link rel="stylesheet" type="text/css" href="../public/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="../public/bootstrap-theme.min.css">
    <script type="text/javascript" src="../public/angular.min.js"></script>
    <script type="text/javascript">
    var applyAPP = angular.module("applyAPP",[])
    .      controller("applyController",function($scope){
           })
    .directive('addTest',function(){
       return {
          restrict:'AE',
             scope: {
                text:'='
              },
           template:'<div ng-if="show">我是测试text文本的{{text}}<button ng-click="add()">点击我加1</button><button ng-click="backZero()">点击我归0</button><button ng-click="ifhide()">点击我消失</button></div>',
           link: function(scope){
          scope.text = 0;
           scope.show = true;
          scope.add = function(){
          scope.text ++;
          };
          scope.backZero = function(){
          scope.text = 0
         };
          scope.ifhide = setTimeout(function(){
               scope.show = false;  // 注:如果此处不使用setTimeout 函数的话,可以不使用scope.$apply
                scope.$apply();
         },10000)

        /*

       scope.ifhide =function(){
               scope.show = false;  // 注:此处可以不使用scope.$apply
         }

       */
    }
    }
    })
    </script>
    </head>
    <body ng-controller="applyController">
    <add-test text="text"></add-test>
    </body>
    </html>

  • 相关阅读:
    推荐大家使用的CSS书写规范、顺序
    只能输入数字的文本框
    js和jQuery 获取屏幕高度、宽度
    jquery插件开发规范
    ie下使用firebug
    equals和==的使用
    引用数据类型的赋值
    数组工具Arrays的基本使用
    冒泡排序
    使用数组对杨辉三角练习
  • 原文地址:https://www.cnblogs.com/mumu-web/p/7055489.html
Copyright © 2011-2022 走看看