美文网首页
ng-if指令

ng-if指令

作者: yb_剑笙 | 来源:发表于2016-09-11 09:52 被阅读0次

    概述

    在Angular JS中,可以使用ng-if指令来控制元素是否存在。

    实现细节

    ng-if标签通过监控绑定的数据,在数据发生变化时,如果为true就存在,为false就不存在。

    //显示
    $animate.enter(clone, $element.parent(), $element);
    
    //影藏
    $animate.leave(previousElements).then(function() {
                    previousElements = null;
                });
    

    从代码可以看出,在元素添加和删除是动过$animate完成的,这说明添加和删除的过程可以动画实现。
    另外:ng-if不仅仅可以绑定数据模型,还可以绑定表达式。ng-if具有高优先级(600),同时还具有terminal属性为true,所以在具有ng-if指令的元素上,很多其它指令是无效的。

    示例代码

    <!DOCTYPE html>
    <html lang="en" ng-app="app">
    <!--<html>-->
    <head>
        <title>Test</title>
    </head>
    <body ng-controller="testCtrl">
    <div>
        <input type="button" value="click" ng-click="test()">
    </div>
    <div>
        <div ng-if ="data" >test1</div>
        <div ng-if ="data >3" >test2</div>
    </div>
    </body>
    <script src="./node_modules/angular/angular.js" type="text/javascript"></script>
    <script>
        angular.module("app",[]).controller("testCtrl",["$scope",function($scope){
            $scope.data = 0;
            $scope.test = function(){
                $scope.data += 1;
                if($scope.data > 5){
                    $scope.data = 0;
                }
            }
        }]);
    </script>
    </html>
    

    这段代码实现的功能为:当点击按钮,$scope的data值就会自增1,当data大于5时就会还原为0。test1在data不为0时就显示,test2在data大于3时显示。

    相关文章

      网友评论

          本文标题:ng-if指令

          本文链接:https://www.haomeiwen.com/subject/vqcuettx.html