`

指令的控制器和(link)链接函数

阅读更多
angular.module('myApp')
.directive('link', function() {
return {
restrict: 'EA',
transclude: true,
controller:
function($scope, $element, $transclude, $log) {
$transclude(function(clone) {
var a = angular.element('<a>');
a.attr('href', clone.text());
a.text(clone.text());
$log.info("Created new a tag in link directive");
$element.append(a);
});
}
};
});
指令的控制器和link函数可以进行互换。控制器主要是用来提供可在指令间复用的行为,但
链接函数只能在当前内部指令中定义行为,且无法在指令间复用。


link函数可以将指令互相隔离开来,而controller则定义可复用的行为。
由于指令可以require其他指令所使用的控制器,因此控制器常被用来放置在多个指令间共
享的动作。
如果我们希望将当前指令的API暴露给其他指令使用,可以使用controller参数,否则可以
使用link来构造当前指令元素的功能性。如果我们使用了scope.$watch()或者想要与DOM元素
做实时的交互,使用链接会是更好的选择。
技术上讲, $scope会在DOM元素被实际渲染之前传入到控制器中。在某些情况下,例如使
用了嵌入,控制器中的作用域所反映的作用域可能与我们所期望的不一样,这种情况下, $scope
对象无法保证可以被正常更新。
当想要同当前屏幕上的作用域交互时,可以使用被传入到link函数中的scope
参数。 

 

 

  • 大小: 227.6 KB
分享到:
评论

相关推荐

    Angular1.x复杂指令实例详解

    为指令创建一个控制器函数 link 为指令指定链接函数 replace 指定模板内容是否替换指令所应用到的元素 require 声明对某个控制器的依赖 restrict 指定指令如何使用ACEM scope 为指令...

    8086/8088汇编语言程序设计教程

    第一部分是基础部分,以8086/8088为背景,以DOS和PC兼容机为软硬件平台,以MASM和TASM为汇编器,介绍汇编语言的有关概念,讲解汇编语言程序设计技术。第二部分是提高部分,以80386为背景,以新一代微处理器Pentium为...

    80x86汇编语言程序设计教程

    第一部分是基础部分,以8086/8088为背景,以DOS和PC兼容机为软硬件平台,以MASM和TASM为汇编器,介绍汇编语言的有关概念,讲解汇编语言程序设计技术。第二部分是提高部分,以80386为背景,以新一代微处理器Pentium为...

    80X86汇编语言程序设计

    第二部分是提高部分,以80386为背景,以新一代微处理器Pentium为目标,细致和通俗地介绍了保护方式下的有关概念,系统和详细地讲解了保护方式下的编程技术,真实和生动地展示了保护方式下的编程细节。第三部分是上机...

    最新AngularJS开发宝典视频教程 后盾网AngularJS培训视频教程 后盾网.txt

    ├最新AngularJS开发宝典—第078讲 uiRouter路由控制器或指令中执行路由跳转.mp4 ├最新AngularJS开发宝典—第079讲 uiRouter路由参数设置与$stateParams服务的使用.mp4 ├最新AngularJS开发宝典—第080讲 uiRouter...

    [80X86汇编语言程序设计].王元珍.文字版

    4.4.1 循环程序的结构和控制方法 4.4.2 单重循环程序设计 4.4.3 多重循环程序设计 4.5 子程序设计 4.5.1 子程序的概念 4.5.2 子程序的定义 4.5.3 子程序的调用与返回 4.5.4 子程序调用现场的保护方法 4.5.5 ...

    HGE_系列教材(1-9)

    处于核心的函数和例程(routines),被整个系统所依赖。 2)辅助类(Helper Classes) 游戏对象相关的类,架构于HGE Core Functions 层之上,辅助用户进行游戏开发。 3)创作工具(Authoring Tools) 用于游戏开发的...

    Angular-ui-confirm

    Angular-ui-confirm 是一个指令,您可以将其放置在link或button ,以打开确认对话框,并且如果用户选择继续 - 执行一些 javascript 任务,例如从控制器范围运行一个函数。 如何使用 首先 - 通过bower安装 bower ...

    ngVue:在Angular 1.x中使用Vue2组件

    Angular指令引入了较高的学习障碍,例如compile和link函数,并且这些指令容易引起混淆。与组件 VueJS社区提供了您想尝试的组件或UI框架 太深入了AngularJS应用程序,无法将其从代码中移开,但是您想尝试使用VueJS ...

    【RT-Thread作品秀】智能家居的语音控制方案-电路方案

    将多个模块的任务分为多个级别,以语音识别为主体,摄像头和语音播报为从体,在语音识别到关键字的时候,会出发相对应的函数,实现不同的效果,而onenet是与语音识别互相独立的,会源源不断的把数据实时发送到云端。...

    (全)传智播客PHP就业班视频完整课程

    非常实用 持之以恒才是王道! ...8-11 2.html运行原理② html文件基本结构 html元素和属性 8-11 3....8-11 4....8-11 5....8-12 1....8-12 2....8-12 3....8-12 4....8-12 5....8-12 6....8-13 2....10-4 3 js内部对象和系统函数 10...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    ...8-11 2.html运行原理② html文件基本结构 html元素和属性 8-11 3....8-11 4....8-11 5....8-12 1....8-12 2....8-12 3....8-12 4....8-12 5....8-12 6....8-13 2.初识css 类选择器 id选择器 html选择器 ...10-4 3 js内部对象和系统函数 ...

    史上最全传智播客PHP就业班视频课,8月份视频

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

    Linux操作系统基础教程

    第三讲 Linux下的网络服务,配置问题和常用工具.................................................................24 一.Linux下的网络服务.....................................................................

    c#学习笔记.txt

    本文假定你具备一切学习此语言所需的知识,没有也不要紧,我会在文中尽量列出相关的link,鉴于互联网瞬息万变的特点,若某一链接不可用,请自行至Google查询。 如前所述,我是一个狮子座男人,一度我认为学习Java会...

    TQ2440下keil测试程序

    是这样的, 2440从nand启动的时候, 它内部的nand flash控制器会把前4k的代码复制到内部的缓存去执行, 而这些缓存就是对应地址的0单元开始. (其实这个直接去参考2440 datasheet 上的地址映射会比看我在这里瞎说的强.....

Global site tag (gtag.js) - Google Analytics