詳解angularJS自定義指令間的相互交互
AngularJS 自定義指令
transclude:當元素標簽需要嵌套時使用,與ng-transclude配合使用。默認值為false不能使用嵌套,true為可以使用嵌套。在哪個標簽上使用ng-transclude就在哪個標簽內(nèi)進行嵌套。
代碼示例:(將hello、hi標簽進行替換同時span標簽嵌套div內(nèi))
<script type="text/javascript">
var m = angular.module('myApp',[]);
m.directive('hello',function(){
return{
restrict:'E',
replace:true,
transclude:true,
template:'<div>hello angular<h1 ng-transclude></h1></div>'
};
});
m.directive('hi',function(){
return{
restrict:'E',
replace:true,
template:'<span>hi angular</span>'
};
});
m.controller('Aaa',['$scope',function($scope){
$scope.name='hello';
}]);
</script>
<body ng-controller="Aaa">
<hello>
<hi></hi>
</hello>
</body>
頁面結(jié)果展示:

在自定義指令當中controller與link的區(qū)別:
link是指DOM操作,操作也是針對當前標簽
controller是多調(diào)用性的數(shù)據(jù)共享,指令與指令間進行交互時也可以設(shè)置一些方法數(shù)據(jù),在其他標簽中也可以調(diào)用
require:從外部引入數(shù)據(jù),參數(shù)為被引入的指令,被引入的指令需要在引入指令的身上。
》^:是指被引入的指令是引入指令的父級
》?:兼容錯誤
代碼示例:
<script type="text/javascript">
var m = angular.module('myApp',[]);
m.directive('hello',function(){
return{
restrict:'E',
replace:true,
transclude:true,
controller:function($scope){
//$scope.name='miaov';只能在該標簽中使用
this.name = 'miaov';//可以在其他標簽中調(diào)用
},
template:'<div>hello angular<h1 ng-transclude></h1></div>'
};
});
m.directive('hi',function(){
return{
restrict:'E',
replace:true,
require:'?^hello',//從外部引入指令,參數(shù)為被引入的標簽
link:function($scope,element,attr,reController){
console.log(reController.name);
},
template:'<span>hi angular</span>'
};
});
m.controller('Aaa',['$scope',function($scope){
$scope.name='hello';
}]);
</script>
<body ng-controller="Aaa">
<hello>
<hi></hi>
</hello>
</body>
頁面結(jié)果展示:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- 深入講解AngularJS中的自定義指令的使用
- AngularJS創(chuàng)建自定義指令的方法詳解
- AngularJS優(yōu)雅的自定義指令
- AngularJS使用自定義指令替代ng-repeat的方法
- AngularJS 自定義指令詳解及實例代碼
- AngularJS自定義指令實現(xiàn)面包屑功能完整實例
- AngularJS實現(xiàn)自定義指令與控制器數(shù)據(jù)交互的方法示例
- AngularJS 自定義指令詳解及示例代碼
- AngularJS自定義指令之復(fù)制指令實現(xiàn)方法
- AngularJS自定義指令詳解(有分頁插件代碼)
- AngularJS實現(xiàn)自定義指令及指令配置項的方法
相關(guān)文章
angularjs http與后臺交互的實現(xiàn)示例
這篇文章主要介紹了angularjs http與后臺交互的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-12-12
angular-ngSanitize模塊-$sanitize服務(wù)詳解
本篇文章主要介紹了angular-ngSanitize模塊-$sanitize服務(wù)詳解 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
AngularJS 獲取ng-repeat動態(tài)生成的ng-model值實例詳解
這篇文章主要介紹了AngularJS 獲取ng-repeat動態(tài)生成的ng-model值實例詳解的相關(guān)資料,這里提供實例代碼及實現(xiàn)效果圖,需要的朋友可以參考下2016-11-11
AngularJS與BootStrap模仿百度分頁的示例代碼
分頁在很多時候都能用到,這篇文章主要介紹了AngularJS與BootStrap模仿百度分頁的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05

