Angular JS (指令 directive)

一,指令的创建

/*--Js code--*/
var app = angular.module("superhero",[]);
app.directive("superman",function(){
return {
  restrict: "E",
  template: "<div> Here I am to save the day </div>"
}
})

/*--HTML code--*/
<div ng-app="superhero">
  <superman></superman>
</div>
这样可以创建一个指令。

二,指令的限制
restrict: "A", 表示指令是 对于 "attribute(属性)", restrict: "E", 表示指令是 对于 "Element(元素)",
再举一个例子:
/*--HTML code--*/
<div ng-app="superhero">
   <div superman flash></div>
</div>
/*--Javascript code--*/
var app = angular.module("superhero",[]);
app.directive("superman",function(){
  return{
    restrict:"A",
    link:function(){
      alert("I am ok");
    }
  }
});
app.directive("flash",function(){
  return{
    restrict:"A",
    link:function(){
      alert("I am ok 222")
    }
  }
})

上面的例子不是Dom元素的修改,而是生成一个alert function.

三。基本行为
我们也可以添加一些方法:
/*--HTML code--*/
<div ng-app="behaviorApp">
  <div enter leave>I‘m content</div>
</div>
/*--Javascript code--*/
var app = angular.module("behaviorApp", [])

app.directive("enter", function(){
 return function(scope, element) {
      element.bind("mouseenter", function(){
        console.log("I‘m inside of you!");
      })
    }
});

app.directive("leave", function(){
 return function(scope, element) {
      element.bind("mouseleave", function(){
        console.log("I‘m leaving on a jet plane!");
      })
    }
});

我们可以为这个指令添加了两个事件。

时间: 2024-08-24 22:42:11

Angular JS (指令 directive)的相关文章

Angular之指令Directive系列

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

angular 自定义指令 directive transclude 理解

项目中断断续续的用了下angular,也没狠下心 认真的学习.angular 特别是自定义指令这块 空白. transclude 定义是否将当前元素的内容转移到模板中.看解释有点抽象. 看解释有点抽象Demo: <!DOCTYPE html> <html lang="en" ng-app='myApp'> <head> <meta charset="UTF-8"> <title>Angularjs</

angular js 指令的数据传递 及作用域数据绑定

<div my-directive my-url="http://google.com" my-link-text="Click me to go to Google"></div> angular.module('myApp', []) .directive('myDirective', function() { return { restrict: 'A', replace: true, scope: { myUrl: '@', //绑定

angular js 指令

AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-. ng-app 指令初始化一个 AngularJS 应用程序. ng-init 指令初始化应用程序数据. ng-model 指令把元素值(比如输入域的值)绑定到应用程序. 实例   ({{ firstName }} 是通过 ng-model="firstName" 进行同步.) <div ng-app="" ng-init="firstName='John'"> &l

Angular.js指令

ng-style   <input type="button" value="set color" ng-click="myStyle={color:'red'}"> <input type="button" value="set background" ng-click="myStyle={'background-color':'blue', color: 'black'}&q

Angular.js中的指令——易懂全解析

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">angular.js中,指令是最基础的

Angular JS 中 指令详解

Angular JS的强大功能就在于其可以自定义很多指令,现在就指令做一下详细的剖析. 一个Angular js 指令(directive)的生命周期 开始于$compile方法 结束于$link方法. angular.module('myApp', []) .directive('myDirective', function() { return { restrict: String, priority: Number, terminal: Boolean, template: String

angular js中的directive

angular js中的自定义指令 自定义指令return如下指令定义对象: restrict:restrict约束自定义指令的使用形式,取值有A(属性),E(元素),C(类),M(注释) template:该属性指定angular js指令被替换为html模板 scope:scope:true 表示创建一个作用域,该作用域继承于父作用域(即ng-controller控制的作用域), scope:{} 创建一个完全孤立的作用域,不会继承父作用域的任何数据 scope:{"@"} 创建一

推荐 15 个 Angular.js 应用扩展指令(参考应用)

几天前我们看到Angular 1.4.0发布了-一个以社团为驱动的发布版本涵盖了400多个GitHub的提交,增加了对特性的提升,比如动画,以及可用性. 官方新闻发布稿 覆盖了绝大部分,这同样值得放于 官方版本库 中. Angular.js   是一个神奇的JS框架,这一点毫无疑问,但是尽管受欢迎度和社团日益增长,但是社团中的很多开发者觉得Angular是另外一种浪费个人时间和效率的形式.在这些最不招人喜欢的问题中你会发现,测试和调试简直就是一个噩梦.你可以从网络上找到一些分散的报告, 这里有一