angularJS之事件处理

Posted 小数点就是问题

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

 

以上是关于angularJS之事件处理的主要内容,如果未能解决你的问题,请参考以下文章

angularjs $compile 对 iframe 上的 onload 事件进行错误处理

AngularJS-处理现有DOM元素上的点击事件

[Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操作

AngularJS谷歌地图点击事件不在ios设备ipad和iphone中触发

angularjs中的事件传播$emit,$broadcast,$on

AngularJS 学习之事件