angularJs编写多指令的情况

本实例主要展示controller和link参数的使用.以及多个指令同时作用的情况.

 1 <!DOCTYPE html>
 2 <html ng-app="myModule">
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6 </head>
 7 <body>
 8 <div>
 9     <div>
10         <superman strength>动感超人---力量</superman>
11     </div>
12     <div>
13         <superman strength speed>动感超人---力量+速度</superman>
14     </div>
15     <div>
16         <superman strength speed light>动感超人---力量+速度+发光</superman>
17     </div>
18 </div>
19
20 </body>
21 <script type="text/javascript" src="../js/angular1.4.3.js"></script>
22 <script type="text/javascript">
23 var myModule=angular.module("myModule",[]);
24     myModule.directive("superman", function () {
25         return{
26             scope:{},
27             restrict:"AE",
28             controller:function($scope){
29                 $scope.abilities=[];
30                 this.addStrength= function () {
31                     $scope.abilities.push("strength");
32                 };
33                 this.addSpeed= function () {
34                     $scope.abilities.push("speed");
35                 };
36                 this.addLight= function () {
37                     $scope.abilities.push(‘light‘);
38                 };
39             },
40             link: function (scope,element,attrs) {
41                 element.bind("mouseenter", function () {
42                     console.log(scope.abilities);
43                 })
44             }
45         }
46     });
47     myModule.directive("strength", function () {
48         return{
49             require:"^superman",
50             link: function (scope, element, attrs, supermanCtrl) {
51                 supermanCtrl.addStrength();
52             }
53         }
54     });
55     myModule.directive("speed", function () {
56         return{
57           require:"^superman",
58             link: function (scope, element, attrs, supermanCtrl) {
59                 supermanCtrl.addSpeed();
60             }
61         };
62     });
63     myModule.directive("light", function () {
64         return{
65             require:"^superman",
66             link: function (scope,element,attrs,supermanCtrl) {
67                 supermanCtrl.addLight();
68             }
69         }
70     })
71 </script>
72 </html>

时间: 2024-10-31 11:07:12

angularJs编写多指令的情况的相关文章

Angularjs编写KindEditor,UEidtor指令

目前angularJS非常火热,本人也在项目中逐渐使用该技术,在angularJS中,指令可以说是当中非常重要的一部分,这里分享一些自己编写的指令: 注:本人项目中用了oclazyload进行部分JS文件加载 1.KindEditor angular.module('AdminApp').directive('uiKindeditor', ['uiLoad', function (uiLoad) { return { restrict: 'EA', require: '?ngModel', li

AngularJs编写指令

1 <!DOCTYPE html> 2 <html ng-app="app"> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script src="js/angular1.3.14.min.js"></script> 7 </head>

angularjs的部分总结

就在这个星期,我们学习了一个神奇的框架叫:"Angular js",它的神奇之处不是它的功能有多强,甚至它的功能还是很简陋的,但是它的那种思想是非常牛逼的;他完全抛弃了我们现在所常用的.先取得对象,然后再对这个对象去绑定或者是处理.它完全的放弃了dom操作,化繁为简.但是我们所说的万物有好处,就会有不理想的地方,比如说它的适应性就不是很好,需要大量dom操作的时候,就不是它的用武之地了,比如说游戏,而且由于与我们常规的做法相违背,所以对于初学者来说不是很友好,有的人说用着很爽,而有的人

AngularJS移动开发中的坑汇总

使用AngualrJs开发移动App已经快半年了,逐渐积累了很多AngularJS的问题,特别是对于用惯了Jquery的开发者,转到AngularJS还是需要克服很多问题的.不像Jquery那样侧重DOM操作,AngularJS是以视图模型和双向绑定为核心的. 下面的内容假设你已经了解前端 MVC 概念,并对 AngularJS 有了一定经验,初学者读起来可能比较艰深晦涩.本文的总结会涉及部分在移动设备上特有的问题. DOM操作的问题 避免使用 jQuery 来操作 DOM,包括增加元素节点,移

带你走近AngularJS - 创建自定义指令

为什么使用AngularJS 指令? 使用过 AngularJS 的朋友应该最感兴趣的是它的指令.现今市场上的前端框架也只有AngularJS 拥有自定义指令的功能,并且AngularJS 是目前唯一提供Web应用可复用能力的框架. 目前有很多JavaScript 产品提供插件给Web开发人员.例如, Bootstrap 就是当前比较流行的提供样式和JavaScript插件的前端开发工具包.但是开发人员在使用Booostrap中的插件时, 必须切换到JavaScript 模式来写 jQuery

AngularJS 2调用.net core WebAPI的几个坑

前几天,按照AngularJS2的英雄指南教程走了一遍,教程网址是http://origin.angular.live/docs/ts/latest/tutorial/. 在步骤完成后,又更进一步,在英雄增删改的时候,直接调用.net core的WebApi来实现后台数据的操作,替换教程中的模拟WebApi方式.在替换.net core WebApi时,还是遇到了一些坑的,这里记录一下. 先来看一下WebApi和AngularJS的源代码: WebApi 1 [Route("api/[contr

AngularJS开发经验(转)

AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事. 一.AngularJS 中的精美特性 双向绑定 上面的例子已经说明了,我们可以像 PHP Smarty 模板一样在 HTML 中写表达式,用 {{ 和 }} 包起来.在 AngularJS 里,View 和 Model 是在 Controller 里面绑定的,所以无论你在 Vi

[转]AngularJS移动开发中的坑汇总

使用AngualrJs开发移动App已经快半年了,逐渐积累了很多AngularJS的问题,特别是对于用惯了Jquery的开发者,转到AngularJS还是需要克服很多问题的.不像Jquery那样侧重DOM操作,AngularJS是以视图模型和双向绑定为核心的. 下面的内容假设你已经了解前端 MVC 概念,并对 AngularJS 有了一定经验,初学者读起来可能比较艰深晦涩.本文的总结会涉及部分在移动设备上特有的问题. DOM操作的问题 避免使用 jQuery 来操作 DOM,包括增加元素节点,移

angularjs应用骨架(4)

继续上一篇 继续了解angular其他内容. 与服务器交互 真正的应用需要和真实的服务器进行交互移动应用和新兴的Chrome桌面应用可能是例外.但是对于此外的所有应用来说,无论是想把数据持久化到云端还是需要其他用户进行实时交互,都需要让应用与服务器进行交互. 为了实现这一点,angular提供了一种叫做$http的服务,它提供了一个可扩展的抽象方法列表,使得与服务器的交互更加容易.它支持HTTP.JSONP和CORS方式,它还包含了安全性支持,避免了JSON格式的脆弱性和跨站请求伪造(XSRF)