angularJS自定义指令间的“沟通”

由此例子我们可以看出,angularJS使用指令时link的执行顺序<html>
<head>
    <meta charset="utf-8"/>
    <title></title>
</head>
<body ng-app="components">
<div>
    <name xm>
        <h1>小明</h1>
    </name>
</div>
<div>
    <name xm xmxh>
        <h1>小明,小花</h1>
    </name>
</div>
<div>
    <name xm xmxh xmxhxl>
        <h1>小明,小花,小龙</h1>
    </name>
</div>
</body>
<script src="angular.js"></script>
<script>
    var app= angular.module(‘components‘, []);

    app.directive("name",function(){
        return {
            restrict: "AE",
            scope:{},
            controller:function($scope){
                $scope.name=[];
                this.Xm=function(){
                    $scope.name.push("小明");
                };
                this.Xh=function(){
                    $scope.name.push("小花");
                }
                this.Xl=function(){
                    $scope.name.push("小龙");
                }
            },//controller中定义的方法和乘员可以通过link的第四个参数实现对外公布
            link:function(scope, element, attr, superCtrl){
                element.bind("click",function(){
                    alert(scope.name);
                });
            }
        }
    });

    app.directive("xm",function(){
        return {
            require:"^name",
            link:function(scope, element, attr, superCtrl){
                superCtrl.Xm();
            }
        }
    });

    app.directive("xmxh",function(){
        return {
            require:"^name",
            link:function(scope, element, attr, superCtrl){
                superCtrl.Xh();
            }
        }
    });

    app.directive("xmxhxl",function(){
        return {
            require:"^name",
            link:function(scope, element, attr, superCtrl){
                superCtrl.Xl();
            }
        }
    });
</script>
</html>
时间: 2024-10-12 09:11:59

angularJS自定义指令间的“沟通”的相关文章

AngularJS自定义指令详解(有分页插件代码)

前言 除了 AngularJS 内置的指令外,我们还可以创建自定义指令. 通过 .directive() 函数来添加自定义的指令. 调用自定义指令时,需要在HTMl 元素上添加自定义指令名. 自定义指令命名规则:使用驼峰命名法来命名,即除第一个单词外的首字母需大写.如: myDirective. 在html页面调用该指令时需要以 - 分割,如: my-directive.示例代码: <body ng-app="myApp"> <my-directive><

angularjs自定义指令绑定策略---‘&’绑定

接着上一篇 理解了"="和"@"绑定之后再来理解"&"绑定,就很简单了,同理,用"桥梁"进行分析,但还是有一些例外的情况,要不然angularjs也不会单独设定一个绑定策略,看案例先: <!DOCTYPE html><html lang="en" ng-app="MyModule"><head>    <meta charset=&quo

AngularJS: 自定义指令与控制器数据交互

<!doctype html> <html> <head> <meta charset="utf-8"> <title>AngularJS自定义指令与控制器数据交互</title> <!-- <script src="http://cdn.bootcss.com/angular.js/1.3.15/angular.js"></script>--> <sc

AngularJS 自定义指令详解

版权声明:本文为博主原创文章,未经博主允许不得转载. //blog.csdn.net/qq_27626333/article/details/52261409 除了 AngularJS 内置的63个指令外,我们还可以创建自定义指令.你可以使用 .directive 函数来添加自定义的指令.要调用自定义指令,HTML 元素上需要添加自定义指令名.使用驼峰法来命名一个指令, runoobDirective, 但在使用它时需要以 - 分割, runoob-directive,自定义指令的参数如下: [

【转】AngularJS——自定义指令

原文链接:http://www.html-js.com/article/1561 创建自定义指令 这是一篇译文,来自angular开发者说明的指令.主要面向已经熟悉angular开发基础的开发者.这篇文档解释了什么情况下需要创建自己的指令,和如何去创建指令. 什么是指令 从一个高的层面来讲,指令是angular $compile服务的说明,当特定的标签(属性,元素名,或者注释) 出现在DOM中的时候,它让编译器附加指定的行为到DOM上. 这个过程是很简单的.angular内部有很用这样自带的指令

AngularJS自定义指令(Directives)在IE8下的一个坑

在项目中,由于要兼容到IE8,我使用1.2.8版本的angularJS.这个版本是支持自定义指令的.我打算使用自定义指令将顶部的header从其他页面分离.也就是实现在需要header的页面只用在<body>后面加上<header></header>这个HTML标签就可以了,这样还能实现页面的语义化,而且也能在IE8中实现HTML5标签.以后很多部分都可以这一写,如搜索则可以变成<serach></serach>这样.但是在写好了后,才发现只有I

angularjs自定义指令实现分页插件

由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能.现在单独做了个简易的小demo,主要是为了分享自己写的分页功能.注:本实例调用的是真实接口数据. 首先.小demo的目录结构如下: 一.代码部分 下面直接把每一个文件的代码贴出来,重点是ListCtrl.js和pageDirective.js: 1.index.html <!DOCTYPE html> <html lang="en" ng-app=&

AngularJs自定义指令详解(5) - link

在指令中操作DOM,我们需要link参数,这参数要求声明一个函数,称之为链接函数. 写法: link: function(scope, element, attrs) { // 在这里操作DOM} 如果指令使用了require选项,那么链接函数会有第四个参数,代表控制器或者所依赖的指令的控制器. // require 'SomeController',link: function(scope, element, attrs, SomeController) { // 在这里操作DOM,可以访问r

AngularJS 自定义指令

1.A: 属性,E:元素,标签, C:类名, M: 注释 -----------------------最常用的是AE 2.标签:模板指令,属性:功能