国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 沙湾县| 米脂县| 克山县| 河津市| 什邡市| 沧州市| 晋江市| 平定县| 铁岭市| 澎湖县| 桐城市| 潢川县| 手游| 东乌珠穆沁旗| 南岸区| 南郑县| 大港区| 富民县| 都匀市| 韶关市| 宜丰县| 新丰县| 新绛县| 静海县| 桂阳县| 集安市| 若羌县| 涟源市| 两当县| 芦溪县| 井研县| 肇州县| 钟祥市| 吉隆县| 清原| 曲阳县| 荥经县| 吴桥县| 临清市| 中西区| 四子王旗|