angularJS之事件处理

angularJS的事件不像js一样,会默认有冒泡和捕获,还有angularJS之间的同名控制器之间,也只是同名,

不会让他们关联起来,就是这个名字的控制器的数据的改变不会影响到另一个同名的控制器。

但同名控制器之间可以使用的事件处理,让其有冒泡和捕获的机制。

如:

<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="angularjs-v1.5.9.js"></script>
</head>
<body>
<!-- $broadcast()捕获 -->
<div ng-controller="myCon" ng-click="$broadcast('change')">
{{count}}
    <div ng-controller="myCon" >
        {{count}}
        <!-- $emit()冒泡 -->
        <div ng-controller="myCon" ng-click="$emit('change')">
            {{count}}
        </div>
    </div>
</div>
    <script>
        var myApp=angular.module("myApp",[])
        .controller("myCon",function($scope){
            $scope.count=0;
            $scope.$on("change",function(){
                $scope.count++;
            })
            
        })
            
    </script>
</body>
</html>

$on()给就像addEventListener()。

补充动画那块:

因为angularJS的动画插件不是添加删除class,就是添加删除DOM,所以使用animate的css动画库,应该更加简单实现动画效果。

ng-show;ng-if;

原文地址:https://www.cnblogs.com/zhangzhicheng/p/6060426.html