第216天:Angular—自定義指令(二)
自定義指令
1、第一個引數是指令的名字,第二個引數任然應該使用一個陣列,陣列的最後一個元素是一個函式。定義指令的名字,應該使用駝峰命名法
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>Document</title> 7 <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css"> 8 </head> 9 10 <body ng-app="demoApp"> 11 <!-- <newsButton></newsButton> --> 12 <!-- <news-button></news-button> --> 13 <!-- <div newsButton></div> --> 14 <btn-primary></btn-primary> 15 <btn-danger></btn-danger> 16 <script src="bower_components/angular/angular.js"></script> 17 <script> 18 var demoApp = angular.module(`demoApp`, []); 19 20 // 第一個引數是指令的名字,第二個引數任然應該使用一個陣列,陣列的最後一個元素是一個函式 21 // 定義指令的名字,應該使用駝峰命名法 22 demoApp.directive(`newsButton`, [function() { 23 // 該函式應該返回一個指令物件 24 return { 25 template:`<input type="button" value="news" class="btn btn-lg btn-primary btn-block" />` 26 }; 27 }]); 28 29 30 // demoApp.directive(`btnPrimary`, [function() { 31 // return { 32 // template:`<input type="button" value="news" class="btn btn-primary" />` 33 // }; 34 // }]); 35 36 // demoApp.directive(`btnDanger`, [function() { 37 // return { 38 // template:`<input type="button" value="news" class="btn btn-danger" />` 39 // }; 40 // }]); 41 42 // demoApp.directive(`btnSuccess`, [function() { 43 // return { 44 // template:`<input type="button" value="news" class="btn btn-success" />` 45 // }; 46 // }]); 47 48 demoApp.controller(`DemoController`, [`$scope`, function($scope) { 49 // $scope.xxxx=xxx; 50 // $scope.do=function() { 51 52 // }; 53 // $scope.$watch(``,function(now,old) { 54 55 // }); 56 }]); 57 </script> 58 </body> 59 60 </html>
2、自定義一個麵包屑導航
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>Document</title> 7 <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css"> 8 </head> 9 10 <body ng-app="demoApp"> 11 <!-- <btn>itcast</btn> --> 12 <div breadcrumb></div> 13 <breadcrumb data=""></breadcrumb> 14 <script src="bower_components/angular/angular.js"></script> 15 <script> 16 var demoApp = angular.module(`demoApp`, []); 17 18 19 demoApp.directive(`breadcrumb`, [function() { 20 // Runs during compile 21 return { 22 // 指定當前指令的型別什麼樣的 23 // restrict: `EA`, 24 // // E = Element, A = Attribute, C = Class, M = Comment 25 // template: ``, // 模版字串 26 templateUrl: `tmpls/breadcrumb.html`, 27 replace: true, 28 // transclude: true, 29 }; 30 }]); 31 32 // demoApp.directive(`btn`, [function() { 33 // return{ 34 // scope:{ 35 // primary:`@`, 36 // lg:`@`, 37 // block:`@`, 38 // }, 39 // template:`<button class="btn {{primary==`true`?`btn-primary`:``}}">button</button>` 40 // } 41 // }]); 42 43 // demoApp.directive(`btn`, [function() { 44 // return { 45 // // 指令物件的transclude必須設定為true才可以在模版中使用ng-transclude指令 46 // transclude: true, 47 // replace: true, // 替換指令在HTML中繫結的元素 48 // template: `<button class="btn btn-primary btn-lg" ng-transclude></button>` 49 // }; 50 // }]); 51 </script> 52 </body> 53 54 </html>
3、麵包屑導航
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>封裝一個麵包屑導航</title> 7 <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css"> 8 </head> 9 10 <body ng-app="myApp" ng-controller="DemoController"> 11 <breadcrumb data="{{pathData1}}"></breadcrumb> 12 <breadcrumb data="{{pathData2}}"></breadcrumb> 13 <script src="bower_components/angular/angular.js"></script> 14 <script> 15 var myApp = angular.module(`myApp`, []); 16 17 myApp.controller(`DemoController`, [`$scope`, function($scope) { 18 $scope.pathData1 = { 19 home: `#`, 20 news: `#`, 21 itheima: `#`, 22 bbs: `#` 23 }; 24 $scope.pathData2 = { 25 home: `#`, 26 library: `#`, 27 data: `#` 28 }; 29 }]); 30 31 // 定義一個麵包屑導航指令 32 myApp.directive(`breadcrumb`, [function() { 33 // 返回指令物件 34 return { 35 scope: {}, 36 templateUrl: `tmpls/breadcrumb.html`, 37 replace: true, 38 link: function(scope, element, attributes) { 39 scope.data = JSON.parse(attributes.data); 40 // console.log(scope.data); 41 } 42 }; 43 }]); 44 </script> 45 </body> 46 47 </html>
相關文章
- Angular學習(4)自定義指令Angular
- Angular JS 自定義指令的scope範圍AngularJS
- Vue學習(二)自定義指令Vue
- Angular 自定義結構型指令 structural directive 的使用AngularStruct
- vue 自定義指令Vue
- Angular 自定義管道 pipes 的使用Angular
- Vue中自定義指令Vue
- vue如何自定義指令?Vue
- gitSource 自定義指令碼Git指令碼
- 自定義檢視指令
- Angular 自定義結構化指令,如何傳入多個輸入引數Angular
- Angular rxjs裡自定義operator的使用AngularJS
- angular6自定義服務serviceAngular
- Vue3 自定義指令Vue
- vue系列自定義指令(三)Vue
- angular自定義元件-UI元件篇-switch元件Angular元件UI
- Vue 中「自定義指令」的魅力Vue
- Vue 3自定義指令開發Vue
- vue3.0自定義指令(drectives)Vue
- Angular 基於自定義指令的內容投影 content projection 問題的單步除錯AngularProject除錯
- Angular2+ 自定義Tree元件(參考Angular-material的CdkTree)Angular元件
- 自定義鍵盤(二)
- 深入解析Vue.directive 自定義指令Vue
- Flutter自定義View(二)—— MultiChildRenderObejctWidgetFlutterView
- Android自定義View:View(二)AndroidView
- UICollectionView自定義佈局(二)UIView
- vue-自定義指令-實現提示功能Vue
- Vue.js第十課 自定義指令Vue.js
- CocoaPods 支援 自定義指令碼(script_phase)指令碼
- 『手撕Vue-CLI』新增自定義指令Vue
- 自定義View事件篇進階篇(二)-自定義NestedScrolling實戰View事件
- 小書MybatisPlus第3篇-自定義SQLMyBatisSQL
- ExcelWeb指令碼助手,自定義指令碼,批量操作Excel與網頁ExcelWeb指令碼網頁
- 記windows自定義bat指令碼自啟動WindowsBAT指令碼
- 在Vue3中實現自定義指令Vue
- 指令Angular 4 - DirectivesAngular
- Java 異常(二) 自定義異常Java
- vue自定義指令擷取圖片中心顯示Vue