AngularJS中directive指令使用之事件綁定與指令交互用法示例
本文實(shí)例講述了AngularJS中directive指令使用之事件綁定與指令交互用法。分享給大家供大家參考,具體如下:
AngularJS中模板的使用,事件綁定以及指令與指令之間的交互
<!doctype html> <html ng-app="myapp"> <head> <meta charset="utf-8"/> </head> <body ng-controller="ShieldController"> <div> <who></who> </div> <div> <button you-btn></button> </div> <theshield reigns>343</theshield> <theshield reigns>fdhg</theshield> <theshield rollins>hhh</theshield> <theshield ambros>kkk</theshield> </body> <script src="./js/angular.min.js"></script> <script> var app = angular.module('myapp',[]); /*=======================1. 模板的使用 ========================*/ app.directive('who',function(){ return { restrict:"E", //元素element 的意思 link:function(scope,element,attrs){ console.log(element); element[0].innerHTML = 'sdfhkj'; //這個(gè)優(yōu)先級(jí)別最高 }, //templateUrl:"param.html", //這個(gè)不顯示 優(yōu)先級(jí)別最低 template:"<h1>jkdhf</h1>" //這個(gè)顯示 優(yōu)先級(jí)別其次 }; }); /*=======================2. 事件的綁定 ========================*/ app.directive('youBtn',function(){ return { restrict:"A", //attribute 屬性的意思 link:function(scope,element,attrs){ console.log(element); element[0].innerHTML = 'my btn'; //事件綁定 element.bind('mouseenter',function(){ element[0].innerHTML = 'your btn'; }); element.bind('mouseleave',function(){ element[0].innerHTML = 'her btn'; }); } }; }); /*=======================3. 元素 屬性 控制器之間的交互========================*/ app.controller('ShieldController',function($scope){ $scope.shieldNames = []; this.addReigns = function(){ $scope.shieldNames.push("reigns:jjj"); } this.addRollins = function(){ $scope.shieldNames.push("Rollins:hhh"); } this.addAmbros = function(){ $scope.shieldNames.push("Ambros:ggg"); } }) .directive('reigns',function(){ return { require:"theshield", link:function(scope,element,attrs,ShieldController){ ShieldController.addReigns(); } }; }) .directive('rollins',function(){ return { require:"theshield", link:function(scope,element,attrs,ShieldController){ ShieldController.addRollins(); } }; }) .directive('ambros',function(){ return { require:"theshield", link:function(scope,element,attrs,ShieldController){ ShieldController.addAmbros(); } }; }) .directive('theshield',function(){ return { restrict:"E", controller:"ShieldController", //指定控制器 scope:{}, //清空該指令處的$scope 值 link:function(scope,element,attrs){ element.bind('mouseenter',function(){ //對(duì)于該指令所對(duì)應(yīng)的元素綁定對(duì)應(yīng)的事件 console.log(scope.shieldNames); }); } }; }); </script> </html>
希望本文所述對(duì)大家AngularJS程序設(shè)計(jì)有所幫助。
- Angularjs為ng-click事件傳遞參數(shù)
- angular ng-click防止重復(fù)提交實(shí)例
- AngularJS基礎(chǔ) ng-click 指令示例代碼
- AngularJS的ng-click傳參的方法
- 詳解angularJS動(dòng)態(tài)生成的頁面中ng-click無效解決辦法
- Angularjs 動(dòng)態(tài)添加指令并綁定事件的方法
- Angularjs中使用指令綁定點(diǎn)擊事件的方法
- AngularJs ng-change事件/指令的用法小結(jié)
- Angularjs 事件指令詳細(xì)整理
- Angular使用操作事件指令ng-click傳多個(gè)參數(shù)示例
相關(guān)文章
Angular4學(xué)習(xí)筆記之根模塊與Ng模塊
這篇文章主要介紹了Angular4學(xué)習(xí)筆記之根模塊與Ng模塊,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09ui-router中使用ocLazyLoad和resolve的具體方法
這篇文章主要介紹了ui-router中使用ocLazyLoad和resolve的具體方法,詳細(xì)的介紹了ocLazyLoad和resolve的具體用法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-10-10AngularJS基礎(chǔ) ng-srcset 指令簡單示例
本文主要介紹AngularJS ng-srcset 指令,這里對(duì)ng-srcset 指令做了詳細(xì)的資料整理,附有代碼示例,有需要的小伙伴可以參考下2016-08-08Angular通過angular-cli來搭建web前端項(xiàng)目的方法
這篇文章主要介紹了Angular通過angular-cli來搭建web前端項(xiàng)目的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Angular 通過注入 $location 獲取與修改當(dāng)前頁面URL的實(shí)例
這篇文章主要介紹了Angular 通過注入 $location 獲取與修改當(dāng)前頁面URL的實(shí)例代碼,需要的朋友可以參考下2017-05-05AngularJS框架中的雙向數(shù)據(jù)綁定機(jī)制詳解【減少需要重復(fù)的開發(fā)代碼量】
這篇文章主要介紹了AngularJS框架中的雙向數(shù)據(jù)綁定機(jī)制,結(jié)合實(shí)例形式分析了AngularJS雙向數(shù)據(jù)綁定機(jī)制的原理及實(shí)現(xiàn)方法,以及減少需要重復(fù)開發(fā)代碼量的優(yōu)勢(shì),需要的朋友可以參考下2017-01-01