`

指令的控制器和(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
分享到:
评论

相关推荐

    汇编语言编译器和链接器MASM和Link

    在这个场景中,我们主要关注的是微软提供的汇编语言编译器MASM(Microsoft Macro Assembler)和链接器Link。 **MASM(Microsoft Macro Assembler)** MASM是微软公司开发的一种高级汇编语言编译器,它支持x86架构的...

    angularjs指令中的compile与link函数详解

    `link`函数则是连接指令与应用数据模型的桥梁,它在DOM元素被插入到真实DOM并准备好与控制器交互时被调用。`link`函数有两个变体:`pre-link`和`post-link`。`pre-link`函数在指令的子元素被链接之前执行,而`post-...

    汇编编译和链接文件 link.exe masm.exe

    在这个过程中,`MASM.EXE` 和 `LINK.EXE` 是两个重要的工具,它们分别属于微软的汇编器和链接器。 `MASM.EXE`(Microsoft Macro Assembler)是微软提供的一个汇编器,它的主要功能是将汇编语言源代码转换成机器码,...

    alink连接器

    汇编语言的编译过程分为几个步骤:预处理、汇编和链接。nasm(Netwide Assembler)是一款流行的x86架构汇编器,负责将汇编语言源代码转换成目标代码(.OBJ文件)。然而,这些目标代码并不能直接运行,因为它们缺乏...

    angular指令

    例如,如果我们有一个父指令和一个子指令,我们可以设置子指令的`require`属性为`'^parentDir'`,这样就可以在子指令的链接函数中访问到父指令的控制器。 ```javascript app.directive('childDir', function() { ...

    H3U系列可编程逻辑控制器指令及编程手册.pdf

    ### H3U系列可编程逻辑控制器指令及编程手册知识点概览 #### 一、H3U系列PLC介绍 H3U系列可编程逻辑控制器(Programmable Logic Controller,简称PLC)是由汇川技术开发的第三代高性能小型PLC产品。该系列产品采用...

    Link-Script语法/ HighTec用户手册/ 链接脚本

    3. **KEEP**: `KEEP`指令用于告诉链接器保留特定的函数或数据,即使在优化过程中也应避免被删除。这对于调试信息、中断向量表等重要数据的保护非常有用。 4. **REGION_MAP**: `REGION_MAP`定义了系统的内存区域和...

    详解angularjs中如何实现控制器和指令之间交互

    当我们只有一个控制器`MyCtrl`时,我们可以直接在指令的链接函数(link function)中通过`scope.loadData()`来调用控制器的方法。然而,当存在多个控制器(例如`MyCtrl`和`MyCtrl2`),每个控制器有自己的`loadData`...

    masm和link下载

    MASM提供了丰富的指令集,包括伪指令、宏指令和内建函数,使得编写汇编代码更为便捷。MASM能够将汇编语言源代码转换为机器码,生成可执行文件。MASM的语法严谨,遵循Intel格式,与实际CPU指令相对应,便于理解。 2....

    汇编语言开发工具masm和link

    汇编语言是计算机科学中的低级编程语言,它与机器指令紧密相关,允许程序员直接控制硬件系统的功能。在本文中,我们将重点讨论两种用于汇编语言开发的重要工具:MASM(Microsoft Macro Assembler)和LINK。 MASM是...

    与OMRON(cpm1a)可编程控制器host-link通讯(VC6.0)

    在工业自动化领域,OMRON的CPM1A可编程控制器是一种广泛应用的设备,它能够接收和执行编程指令,实现对生产过程的精确控制。Host-Link通讯协议是OMRON为这些PLC提供的一种通信方式,使得用户可以通过上位机与CPM1A...

    cameralink 动态链接库DLL 适合Matrox采集卡通信 VS开发 与相机通信

    标题中的“cameralink动态链接库DLL”是指用于与Matrox采集卡进行通信的软件组件,主要用于处理相机数据的采集和传输。动态链接库(DLL)是Windows操作系统中的一种共享库,它包含了一系列可供应用程序调用的函数,...

    汇编masm.exe和link.exe,debug

    3. 汇编:汇编器将经过预处理的代码转化为机器码,这个过程中会生成一个.obj文件,它是二进制格式,包含了程序的指令和数据。 4. 链接:使用Link.exe将.obj文件与其他库或对象文件链接在一起,生成最终的.exe可执行...

    Angular-从控制器调用指令方法

    这样,`link`函数就会得到一个指向所需指令控制器的引用: ```javascript .directive('myDirective', function() { return { scope: {}, controller: function($scope) { this.directiveMethod = function() { ...

    汇编连接和编译器合体(LINK、MASM)

    当汇编器和链接器合体为ML.EXE时,这个工具同时完成了汇编和链接的过程。通过使用ML.EXE,程序员可以在一次命令行操作中完成从源代码到可执行文件的转换,这在处理简单的项目或者需要快速原型验证时非常方便。 在...

    汇编语言编译器masm和link合并版

    总结,汇编语言编译器MASM和链接器LINK的合并版ML.EXE为汇编语言开发者提供了一个高效、便捷的工具。通过理解其工作原理和使用方法,开发者可以更好地驾驭汇编语言,创造出高效且具有针对性的软件解决方案。在底层...

    《H3U系列可编程逻辑控制器指令及编程手册》

    《H3U系列可编程逻辑控制器指令及编程手册》是一本详细介绍H3U系列PLC指令和编程的文档,它不仅包含了H3U系列软件的相关信息,还特别强调了与H2U-XP系列的不同点。手册包含了软元件范围、特殊软元件、轨迹控制、电子...

    angular-directivas-pruebas:了解和理解 AngularJs 中的指令。 内化“链接”函数、“编译”、“隔离作用域”等等

    在AngularJS中,指令的链接函数是连接模板和控制器之间逻辑的重要部分。链接函数负责将指令与DOM元素绑定,处理事件,以及初始化指令所需的数据。当指令被编译并附加到DOM时,链接函数会被调用。你可以使用`link`...

    MUYuanV10_双位控制_labview_MessageQueue.lvlib_J-LINK_

    "J-LINK"则是一款广泛应用的嵌入式调试器和编程器,它支持多种微控制器和处理器,如ARM架构。在LabVIEW中调用J-LINK,意味着我们可以直接通过图形化编程接口与目标硬件进行交互,进行程序下载、内存读写、断点设置等...

    汇编语言汇编程序连接程序MASM、LINK

    **汇编和链接过程** 1. **编写源代码**:程序员使用汇编语言编写源代码,包含指令和数据定义。 2. **汇编**:使用MASM将源代码汇编成目标代码,这个过程会生成.OBJ文件,其中包含机器码和符号表。 3. **链接**:...

Global site tag (gtag.js) - Google Analytics