angular directive指令的复用

“指令之之所以要定义成指令就是为了复用!”

指令一定是可以用在不同的controller里面的,为了在不同的controller去使用它,我们一定要给指定的配置项一个指令。这样才能跟外面的控制器进行交互。

举例如下:

html:

    <div ng-controller="MyCtrl">
        <loader howToLoad="loadData()">滑动加载</loader>
    </div>
    <div ng-controller="MyCtrl2">
        <loader howToLoad="loadData2()">滑动加载2</loader>
    </div>

js:

var app = angular.module(‘MyModule‘,[]);

app.controller(‘MyCtrl‘, [‘$scope‘,function($scope){
    $scope.loadData = function(){
        console.log("加载数据中...");
    }
}]);

app.controller(‘MyCtrl2‘, [‘$scope‘,function($scope){
    $scope.loadData2 = function(){
        console.log("加载数据中...2222");
    }
}]);

app.directive("loader",function(){
    return{
        restrict: "AE",
        link:function(scope,element,attrs){      /*link函数有4个参数,最后一个父控制器,此处用了3个*/
            element.bind(‘mouseenter‘,function(){
                // scope.$apply("loadData()");
                // 注意这里的坑,howtoload会被转换成小写的howtoload
                scope.$apply(attrs.howtoload);
            });
        }
    }
});
时间: 2024-08-09 13:43:18

angular directive指令的复用的相关文章

angular Directive 指令详解

一.定义 指令,可以把它简单的理解成在特定DOM元素上运行的函数,指令可以扩展这个元素的功能. 指令的基本结构如下: angular.module('myApp', []) .directive('myDirective', function() { return { restrict: String, priority: Number, terminal: Boolean, template: String or Template Function: function(tElement, tA

angular directive指令相互独立

想要让指令的使用相互间不干扰,如下:

Angular之指令Directive系列

项目筹备近期开启Angular学习,指令比较难理解所以记录备案,推荐视频大漠穷秋 Angular实战 由于篇幅过长,列举大纲如下: 一.指令directive概述 指令可以对元素绑定事件监听或者改变DOM结构而使HTML拥有像jQuery一样效果具有交互性.不同于jQuery,Angular设计核心思想是通过数据与模板的绑定,摆脱繁琐的DOM操作,而将注意力集中在业务逻辑上. 几种常见指令ng-app 指令用来指定ng的作用域是在那个标签以内部分(<html ng-app="myApp&q

Angular自定义指令(directive)

angular自定义指令,意我们可以通过angula自己定义指令,来实现我们的特殊要求,为所欲为,一支穿云箭,千军万马来相见 多少年的老规矩了,先看代码: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-UA-Compatible" content=&quo

angular 自定义指令详解 Directive

在angular中,Directive,自定义指令的学习,可以更好的理解angular指令的原理,当angular的指令不能满足你的需求的时候,嘿嘿,你就可以来看看这篇文章,自定义自己的指令,可以满足你的各种需求的指令. 本篇文章的参考来自  AngularJS权威指南 , 文章中主要介绍指令定义的选项配置 废话不多说,下面就直接上代码 //angular指令的定义,myDirective ,使用驼峰命名法 angular.module('myApp', []) .directive('myDi

学习AngularJs:Directive指令用法(完整版)

这篇文章主要学习AngularJs:Directive指令用法,内容很全面,感兴趣的小伙伴们可以参考一下 本教程使用AngularJs版本:1.5.3 AngularJs GitHub: https://github.com/angular/angular.js/ AngularJs下载地址:https://angularjs.org/ 摘要:Directive(指令)笔者认为是AngularJ非常强大而有有用的功能之一.它就相当于为我们写了公共的自定义DOM元素或LASS属性或ATTR属性,并

[angular] 篇 指令中的scope

scope参数有以下几种方式: 1,不填,默认为scope:false 2,scope:true 3,scope:{} 4, scope:{ name: '=', age: '@', say: '&' } 下面我来分别说明他们之间的用法: 第一种:看代码 <script> angular module('exampleApp', []) .controller('scopeCtrl', function ($scope) { // do something }); .directive

跟我学AngularJs:Directive指令用法解读(下)

此文接 跟我学AngularJs:Directive指令用法解读(上) 8.transclude 如果不想让指令内部的内容被模板替换,可以设置这个值为true.一般情况下需要和ngTransclude指令一起使用. 比如:template:"<div>hello every <div ng-transclude></div></div>",这时,指令内部的内容会嵌入到ng-transclude这个div中.也就是变成了<div>

Angular directive 实例详解

准备代码,会在实例中用到 var app = angular.module('app', []); angular指令定义大致如下 app.directive('directiveName', function() { return { // config } }) 其中return返回的配置对象包含很多参数,如下一一说明. 1. restrict 值为字符串,可选参数,指明指令在DOM中以什么形式被声明 <!-- E (element) --> <directiveName>&l