国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

小人兒的筆記(AngularJS)--02

2024-04-27 15:07:04
字體:
供稿:網(wǎng)友

$scope中事件傳播機(jī)制1

例1:

<body ng-controller="ParentController"> <h1>count in body:{{cnt}}</h1> <button ng-click="doAdd()" type="button">add</button> <button ng-click="doEmit()" type="button">emit</button> <button ng-click="doBroad(5)" type="button">broad</button> <div ng-controller="SubController"> <h1>count in sub div:{{cnt}}</h1> <button ng-click="doAdd()" type="button">add</button> <button ng-click="doEmit()" type="button">emit</button> <button ng-click="doBroad()" type="button">broad</button> <div ng-controller="GrandSubController"> <h1>count in grand sub div:{{cnt}}</h1> <button ng-click="doAdd()" type="button">add</button> <button ng-click="doEmit()" type="button">emit</button> <button ng-click="doBroad()" type="button">broad</button> </div> </div></body>angular.module('myApp', []).controller( 'ParentController', ['$scope', function($scope){ $scope.cnt=0; $scope.doAdd=function(){ this.cnt++; }; $scope.doEmit=function(){ $scope.$emit("MyClick"); }; $scope.doBroad=function(n){ $scope.$broadcast("MyClick",n); }; $scope.$on("MyClick",function(a,n){ if(n){ $scope.cnt+=n; } else{ $scope.cnt++; } }); //$emit能向當(dāng)前控制器和parent controller傳遞event與data //$broadcast能向當(dāng)前控制器和child controller傳遞event與data //$on用于監(jiān)控接收event與data}]).controller('SubController', ['$scope', function($scope){ $scope.cnt=0; $scope.$on("MyClick",function(a,n){ if(n){ $scope.cnt+=n; } else{ $scope.cnt++; } }); $scope.doAdd=function(){ this.cnt++; }; $scope.doEmit=function(){ $scope.$emit("MyClick"); }; $scope.doBroad=function(){ $scope.$broadcast("MyClick"); };}]).controller('GrandSubController', ['$scope', function($scope){ $scope.cnt=0; $scope.$on("MyClick",function(a,n){ if(n){ $scope.cnt+=n; } else{ $scope.cnt++; } }); $scope.doAdd=function(){ this.cnt++; }; $scope.doEmit=function(){ $scope.$emit("MyClick"); }; $scope.doBroad=function(){ $scope.$broadcast("MyClick"); };}])

$scope中事件傳播機(jī)制2

例1:使用同樣的控制器名,減少冗余代碼

<body ng-controller="EventController"> <h1>count in body:{{cnt}}</h1> <button ng-click="doAdd()" type="button">add</button> <button ng-click="$emit('MyClick')" type="button">emit</button> <button ng-click="$broadcast('MyClick')" type="button">broad</button> <div ng-controller="EventController"> <h1>count in sub div:{{cnt}}</h1> <button ng-click="doAdd()" type="button">add</button> <button ng-click="$emit('MyClick')" type="button">emit</button> <button ng-click="$broadcast('MyClick')" type="button">broad</button> <div ng-controller="EventController"> <h1>count in grand sub div:{{cnt}}</h1> <button ng-click="doAdd()" type="button">add</button> <button ng-click="$emit('MyClick')" type="button">emit</button> <button ng-click="$broadcast('MyClick')" type="button">broad</button> </div> </div></body>angular.module('myApp', []).controller( 'EventController', ['$scope', function($scope){ $scope.cnt=0; $scope.doAdd=function(){ this.cnt++; }; $scope.$on("MyClick",function(){ $scope.cnt++; });}]);
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 天台县| 乐都县| 荥经县| 天镇县| 马公市| 工布江达县| 黄梅县| 通山县| 红桥区| 永修县| 安塞县| 万年县| 方正县| 诸暨市| 牟定县| 旬邑县| 九龙城区| 郁南县| 黔西县| 斗六市| 东乌| 工布江达县| 涡阳县| 西乌珠穆沁旗| 阿克苏市| 锦屏县| 玛多县| 安远县| 临西县| 航空| 永宁县| 崇礼县| 麻江县| 郓城县| 绥中县| 兴国县| 盐山县| 旌德县| 古丈县| 忻州市| 大同县|