这段时间在学习angularjs,对directive指令的绑定策略弄了好久才明白,现在做下笔记方便以后查阅,若有错误欢迎指出。

为了使新的指令作用域能访问当前的作用域的一些属性,通常会使用@、=、&三种方式进行绑定

 <div ng-controller="ctrl">
<test-dire name="taven" age="myAge" on-send="test(name)" on-call="test1({key2, key1})"></test-dire>
</div>
<script>
angular.module('myApp', ['test'])
.controller('ctrl', function($scope){
$scope.name = 'hello world';
$scope.myAge = 'three';
$scope.test1 = function(obj){
alert(JSON.stringify(obj)); // {"key2":"three","key1":"taven"}
};
$scope.test = function(str){
alert(str); //taven
};
}); angular.module('test', [])
.directive('testDire', function () {
return{
restrict: 'ECMA',
replace: true,
template: '<div ng-click="onSend({name})" ng-mouseenter="onCall({key1:name,key2:age})">指令:@{{name}} , ={{age}}</div>',
scope: {
name: '@name', //绑定'test-dire'标签name属性值 (name='taven'),即绑定'taven'
age: '=age', //绑定当前作用域中属性名为'test-dire'标签age的属性值(age="myAge"),即绑定$scope.myAge 也就是 'three'
onCall: '&', //绑定'test-dire'标签on-send属性的test方法,并将当前指令绑定name和age值传递给该方法
onSend: '&' //将当前指令绑定name值传递给该方法
}
}
}); </script>


angularjs directive中@ = &使用详解的更多相关文章

  1. AngularJs directive 'transclude' option 详解

    transclude好像不是一个英语单词,有道词典里没有,百度翻译的意思是嵌入. transclude在angularjs的自定义的derective中是比较常见的一个东西,所有有必要要了解它. 我们 ...

  2. angularjs Directive自定义指令详解

    作用:需要用Directive有下面的情景: 1.使你的Html更具语义化,不需要深入研究代码和逻辑即可知道页面的大致逻辑. 2. 抽象一个自定义组件,在其他地方进行重用. 3.使用公共代码,减少重复 ...

  3. AngularJS指令进阶 – ngModelController详解

    AngularJS指令进阶 – ngModelController详解 在自定义Angular指令时,其中有一个叫做require的字段,这个字段的作用是用于指令之间的相互交流.举个简单的例子,假如我 ...

  4. 【转】angular中$parse详解教程

    原文: https://yq.aliyun.com/ziliao/40516 ------------------------------------------------------------- ...

  5. winxp计算机管理中服务详解

    winxp计算机管理中服务详解01 http://blog.sina.com.cn/s/blog_60f923b50100efy9.html http://blog.sina.com.cn/s/blo ...

  6. cocos2dx常见的46中+22中动作详解

    cocos2dx常见的46中+22中动作详解 分类: iOS2013-10-16 00:44 1429人阅读 评论(0) 收藏 举报 bool HelloWorld::init(){    ///// ...

  7. Android中Context详解 ---- 你所不知道的Context

    转自:http://blog.csdn.net/qinjuning/article/details/7310620Android中Context详解 ---- 你所不知道的Context 大家好,  ...

  8. iOS中-Qutarz2D详解及使用

    在iOS中Qutarz2D 详解及使用 (一)初识 介绍 Quartz 2D是二维绘图引擎. 能完成的工作有: 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成 ...

  9. 【转】declare-styleable的使用(自定义控件) 以及declare-styleable中format详解

    原文网址:http://www.cnblogs.com/622698abc/p/3348692.html declare-styleable是给自定义控件添加自定义属性用的 1.首先,先写attrs. ...

随机推荐

  1. Firefox--Date.parse()

    比较两个时间字符串的时间大小用到了Date.parse()这个静态方法. 火狐下:Date.parse("2014-07-05 22:05:05") 返回的是NaN. 其它浏览器: ...

  2. Oracle开启归档

    #查看数据库是否为归档模式select name ,log_mode from v$database; #改变归档模式到非归档模式shutdown normal/immediate; #关闭数据库st ...

  3. ARC下的内存泄露

    iOS提供了ARC功能,很大程度上简化了内存管理的代码. 但使用ARC并不代表了不会发生内存泄露,使用不当照样会发生内存泄露. 下面列举两种ARC导致内存泄露的情况. 1,循环参照 A有个属性参照B, ...

  4. C语言:Message类

    message.h #ifndef MESSAGE_H #define MESSAGE_H #define TRUE 1 #define FALSE 0 typedef struct { int se ...

  5. SPSS时间序列分析

    时间序列分析必须建立在预处理的基础上…… 今天看了一条新闻体会到了网络日志的重要性…… 指数平滑法(Exponential Smoothing,ES)是布朗(Robert G..Brown)所提出,布 ...

  6. 【手机安全卫士01】项目Splash页面的开发与设计

    首先建立一个安卓的项目,然后修改manifest.xml文件,修改应用程序的logo和显示名称,效果图如下: 对应的代码如下: <?xml version="1.0" enc ...

  7. poj 3686 The Windy's

    http://poj.org/problem?id=3686 #include <cstdio> #include <cstring> #include <algorit ...

  8. 云存储,OWNCLOUD,真的遇到过这个需求哟。。。

  9. 自定义xamarin.forms Entry 背景色以及边框

    创建   一个Xamarin.Forms自定义控件.     自定义Entry控件可以通过继承来创建Entry控制,显示在下面的代码示例: public class MyEntry : Entry { ...

  10. 【HDOJ】1078 FatMouse and Cheese

    这道题目是典型的DFS+记忆化搜索, DP思想.符合:含重叠子问题,无后效性等特点. #include <cstdio> #include <cstring> #include ...