AngularJs学习笔记(二) 指令directive

esp32s3 spi camera gc6133调试 gc6133 spi只有master模式,同时需要esp32提供主时钟,需要有主时钟然后才能通过i2c进行初始化.测试了几种方式,记录如下。 阅读详情

AngularJS 指令                                                                                

指令是angularjs的核心概念之一,它相当于一个自定义的HTML元素,在Angular官方文档中称它为HTML语言的DSL(特定领域语言)扩展。


根据使用场景和作用,指令可分为组件型指令和装饰器性指令。

组件型指令主要是为了将复杂而庞大的Viewfenli,使得页面的View具有更强的可读性和维护性,是实现“高内聚低耦合”和“分离关注点”的有效手段;

而装饰器型指令是为了给DOM添加行为,时期具有某种能力,如自动聚焦,双向绑定,可点击等能力,同时它还是链接Model和View之间的桥梁,保持View和Model的同步。

理解两种指令的用途非常重要,他们在写法,业务含义和使用范围等方面都有非常明显的区别,理解了它们,对于我们日常的指令开发具有很好的指导作用。

组件型指令                                                                          

组件型指令应是一个小型的,自封装和内聚的整体,它包含业务所需要显示的视图和交互逻辑。


组件型指令的通常写法:

<span style="font-size:12px;">angular.module('myApp', []).
  directive('myDirective',function(){
  	return {
  		restrict: 'EA',//用作HTML元素
		scope:{<span style="white-space:pre">		</span></span><pre name="code" class="javascript"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="white-space:pre">					</span>//使用独立作用域</span>
}controller:fucntion ($scope){ //声明指令的控制器,用于初始化指令},templateUrl:'test.html',//指定模板 } })

指令中return的这个结果,我们称之为“指令定义对象。
-restrict属性用来表示指令的用途,它有四个取值:

      A: attribute属性:当做属性来使用

      E:element元素:当做标签元素来使用

      C:class类:当做CSS样式来使用

      M:comments注释:当做注释使用

对于组件型指令,标准用法是E,但是为了兼容IE8,通常也支持一个A,因为IE8的自定义元素需要先用document.createElement注册,用A可以省去注册的麻烦。

-scope用于定义该指令的作用域。默认为false,此时这个指令不会有新的作用域,它会直接访问现有作用域上的属性或方法,也可以不访问作用域。如果同一节点上有新作用域或独立作用域指令,则直接使用它,否则直接使用父级作用域。

通常为了实现更好的指令封装即”低耦合“,我们需要给指令一个独立作用域,即不能设置成false。

scope的值可以设置成一个哈希对象:

scope:{

name:'@',

details:'=',

onUpdate:'&'

}

以<my-directive name='test' details='details' on-update='updateIt(times)'></user-details>为例,name的值将被绑定为字符串test,而details的值将绑定到付页面scope上一个名为details的变量,而onUpdate绑定的则是一个回调函数,它是父页面scope上一个名为updateIt的函数。

对于组件型指令,我们侧重与内容信息的展示,所以一般不涉及link函数,而应该尽量地将业务逻辑放置在controller中。

装饰器型指令                                                                                     

组件型注重于信息展示和业务逻辑控制。而装饰器型指令主要用于给dom添加行为和保持View和Model的同步,也因此restrict的值通常为设置为'A',这也符合装饰器型指令的语义--装饰,装饰器型指令不是一个主体,而是给一个主题附加功能的连接器。在装饰器型指令中,我们经常需要进行DOM操作,而DOM操作则写在link函数中。

装饰器型指令的定义方式如下:

angular.module('myApp', []).
  directive('myDirective',function(){
  	return {
  		restrict: 'A',
		scope:{
			
		}
		link:fucntion myDirectiveCtrl(scope. elem, attrs){

		},
  	}
  })

有时候,多个装饰器会被用于同一个指令,包括独立作用于指令,所以装饰器型指令通常不使用新作用域或独立作用域。在这种情况下,我们可以通过attrs来访问绑定的属性,仍然是上面那个例子,<my-directive name='test' details='details' on-update='updateIt(times)'></user-details>

对于@型的绑定,我们可以通过attrs取到它:attrs.name相当于name:'@'

对于=型的绑定,我们可以通过scope.$eval取到它:scope.$eval(attrs.details)等价于details:'='

对于&型的绑定,则可以这样,scope.$eval(attrs.onUpdate, {times:3})









【Docker】一招解决超时镜像超时报错:`ERROR: Get https://registry-1.docker.io/v2/` Docker 镜像拉取超时或失败并不是 Docker 本身的缺陷,而是网络环境和默认配置在特定场景下的限制所导致的结果。通过本文的分析可以看到,问题的核心往往集中在三个方面:网络访问延迟、DNS 解析速度以及客户端默认超时时间。针对这些问题,最直接、有效的做法是使用国内镜像加速器,这不仅能够显著提升拉取速度,还能保证在企业内网或家庭网络中更加稳定 阅读详情

相关推荐

黏菌算法(Slime Mould Algorithm,SMA)

这是一篇关于黏菌算法的总结博客,包含算法思想,算法步骤,求函数最值(Python实现),算法改进等,持续更新ing

weixin_46838605的博客 1万+

AngularJS指令

AngularJS中使用模块的 directive() 函数来自定义指令app.directive('指令名称',function(){return{template,replace ,restrict,...})

Thewei666的博客 781

NLM去噪算法:原理、优化与医学图像处理实战

本文深入解析NLM去噪算法的核心原理及其在医学图像处理中的优化应用。通过全局自相似性计算,NLM算法有效抑制噪声并保留细节,特别适用于超声图像斑点噪声处理。文章还介绍了积分图像和傅里叶变换等优化技巧,显著提升计算效率,并分享医学影像项目中的实用调参经验。

weixin_29051149的博客 348

angularjs指令作用及用法

您可自由转发此文, 但请保留出处:Ionic在线学习网站  http://www.ioniconline.com   1.ng-app 作用:定义了 AngularJS 应用程序的 根元素。 例1:构建的是一整套的angular应用,那么应该将ng-app作为标签的一部分 像: .......

ioniconline的博客 2016

【ESD专题】从原理上分析TVS管PCB Layout的经验法则

我们常常会听到的一些经验法则,按这些经验法则去做,一般也不会有什么问题,但是到底是为什么呢? 没有从原理上分析和证明的时候,往往在Layout之后还要担心实际测试结果怎么样。或是在实际测试出问题后,根本无法进行分析,难道说修改一个版本就好了?那要从哪里修改呢?也无从下手呀。...

一点硬件 1446

高速电路设计必看:同步开关噪声问题解析

数字电路中的同步开关噪声(SSN)问题日益突出,尤其是随着高速器件应用增多。本文分析了地弹和电压弹的产生机理,指出其与电源网络电感、输出驱动电流变化率密切相关。文章详细阐述了地弹参数特征,包括峰值电压、脉冲宽度等关键指标,并探讨了负载电容、信号压摆率等因素对地弹的影响。最后提出系统化的解决方案,涵盖芯片选型、电路设计、PCB布局和后期调试等多个环节,强调通过降低回路电感和控制电流变化率来有效抑制SSN。这些措施需要在性能、成本和复杂度之间取得平衡,为高速数字电路设计提供了重要参考。

一只豌豆象的博客 298

Angularjs之directive指令学习笔记(二)

1.Directive的五个实例知道driective作用、其中字段restrict、template、replace、transclude、link用法 参考文章链接地址:http://damoqiongqiu.iteye.com/blog/1917971 1.指令(directive)的作用是把我们自定义的语义化标签替换成浏览器能够认识的HTML标签,如同博客中的自定...

weixin_34336292的博客 168

ArcGIS Pro SDK (二十五)工作流管理器

【代码】ArcGIS Pro SDK (二十五)工作流管理器。

Winemonk 494

Angularjs学习笔记09~指令 Directive(二)参数定义

前一篇笔记中对指令简要的进行了介绍,同时也给出了一个指令的伪模板。如果初次接触,你会发现该模板中满是各种符号以及一些看不懂的属性。当然,不用担心,这也正是这篇笔记存在的意义。工欲善其事必先利其器,要熟练而又正确的使用指令,我们需要先去了解一些指令中常用参数的定义与使用方法。还是分下面这三部分来说吧其一,指令 Directive(一)初探其二,指令 Directive(二)...

Jartto's Blog 248

点云结构面智能识别与裂隙网络分析系统

点云结构面智能识别系统摘要 本系统采用深度学习与传统几何算法融合的方法,实现岩石结构面的智能识别与分析。系统包含7个核心模块:点云预处理、结构面识别、分组分割、参数计算、粗糙度分析、裂隙网络生成和可视化。技术路线结合PointNet++深度学习架构与RANSAC、区域生长等传统算法,通过预处理→深度学习识别→几何精修→参数计算→网络构建的流程实现高精度分析。预处理模块实现点云降噪、下采样和法向量估计,深度学习模块基于改进的PointNet++架构进行特征提取和分类。系统支持多种点云格式输入,提供完整的结构面

huanghm88的专栏 345

OpenClaw用户必看:每天0成本使用OpenClaw!NVIDIA NIM免费大模型接入教程

🚀 OpenClaw接入NVIDIA NIM免费API!glm5、minimax-m2.5等大量模型任选,0成本升级AI助手!💰

XiaoqiangClub的博客 5579

跟我学AngularJs:Directive指令用法解读(上)

Directive(指令)笔者认为是AngularJ非常强大而有有用的功能之一。它就相当于为我们写了公共的自定义DOM元素或CLASS属性或ATTR属性,并且它不只是单单如此,你还可以在它的基础上来操作scope、绑定事件、更改样式等。通过这个Directive,我们可以封装很多公共指令,比如分页指令、自动补全指令等等。然后在HTML页面里只需要简单的写一行代码就可以实现很多强大的功能。一般情况下

Evankaka的专栏 2万+

2026年算法工程师常见面试简答题

本文摘要:文章系统梳理了机器学习与深度学习中的30个核心概念,涵盖模型优化、评估指标、经典算法和大模型应用等关键知识点。主要内容包括:1)过拟合与欠拟合的成因及解决方法;2)偏差-方差权衡原理;3)数据划分与交叉验证策略;4)分类/回归任务评估指标选择;5)逻辑回归、决策树、SVM等传统算法解析;6)梯度下降优化与正则化技术;7)CNN、RNN、Transformer架构对比;8)Embedding表示与RAG技术。特别强调面试高频考点如XGBoost改进、注意力机制原理等,并给出实际工程中的解决方案建议,

不务正业的猿 350

AngularJS 学习笔记 -- 指令(Directive)

AngularJS 指令学习笔记AngularJS怎样处理指令其实是依赖于指令定义时返回的对象属性的,所以要想深入理解如何定义一个指令,首相需要理解指令定义时各个参数的含义。完整的AngularJS指令参数angular.module('app', []) .directive('demoDirective', function (){ // 依据官方规范,指令的定义时应该严格遵循驼峰式命名

不断成长的我 7654

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Angularjs 自定义指令directive详解

一、自定义指令; 1. var app = angular.module('app',[]); 2. app.directive('directive1',['$scope',function($scope){ return { restrict:'ECAM', // 限制,表示指令以什么形式写进页面 scope:{ // 有了这个属性...

weixin_43996999的博客 2771

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

AngularJS - 创建自定义的指令(directive)

除了 AngularJS 内置的指令外,我们还可以创建自定义指令。你可以使用 .directive 函数来添加自定义的指令。要调用自定义指令,HTML 元素上需要添加自定义指令名。 使用驼峰法来命名一个指令, runoobDirective, 但在使用它时需要以 - 分割, &lt;runoob-directive&gt;&lt;/runoob-directive&gt; 内部有许多参数可以供...

wust_cyl的博客 6717

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

AngularJs:Directive指令用法

转载自脚本之家摘要:Directive(指令)笔者认为是AngularJ非常强大而有有用的功能之一。它就相当于为我们写了公共的自定义DOM元素或CLASS属性或ATTR属性,并且它不只是单单如此,你还可以在它的基础上来操作scope、绑定事件、更改样式等。通过这个Directive,我们可以封装很多公共指令,比如分页指令、自动补全指令等等。然后在HTML页面里只需要简单的写一行代码就可以实现很多强...

kkhk04的博客 269

学习AngularJs:Directive指令用法

摘要:Directive(指令)笔者认为是AngularJ非常强大而有有用的功能之一。它就相当于为我们写了公共的自定义DOM元素或CLASS属性或ATTR属性,并且它不只是单单如此,你还可以在它的基础上来操作scope、绑定事件、更改样式等。通过这个Directive,我们可以封装很多公共指令...

chetimang5305的博客 287

angularjs directive scope变化为啥html,学习AngularJs:Directive指令用法(完整版)

本教程使用AngularJs版本:1.5.3摘要:Directive(指令)笔者认为是AngularJ非常强大而有有用的功能之一。它就相当于为我们写了公共的自定义DOM元素或CLASS属性或ATTR属性,并且它不只是单单如此,你还可以在它的基础上来操作scope、绑定事件、更改样式等。通过这个Directive,我们可以封装很多公共指令,比如分页指令、自动补全指令等等。然后在HTML页面里只需要简...

weixin_32150955的博客 253

AngularJs指定之directive全参数详解。

在angularjs还未更新出component时,我们一般会使用directive开发自定义指令或者组件,也正因为directive功能的强大,导致指令与组件概念含糊不清,所以才有后面用于做组件的component,当然对于component我们另起一篇文章再说。 directive是直接用于操作dom的函数,它甚至能直接改变dom的结构,我们从一个最简单的directive开始: HTML: ...

GothaM24的博客 797

angularJS在directive的template中使用ng-template

今天为大家介绍一下在angularjs的directive中使用ng-template的方法。 1.我们的问题是什么? var page = angular.module('ausp.directive',['ui.tree']); page.directive('auspTree', ['$templateCache',function($templateCache) { r

pkpk20044的博客 7392

详谈AngularJS的Directive

指令Directive是AngularJS最重要的核心。我用AngularJS用的并不是很深,一直以来也是在使用中摸索,从一开始的什么都不懂,查不到系统的资料,到开始使用一些简单的数据绑定{{}},到发现ng-bind比双括弧好用是因为DOM加载速度的问题,到发现简单的ng-repeat能完成很多事情,到用它来做表单验证时发现ng-form好好用,到... 总之,对AngularJS从无...

aizhanqian5077的博客 162

AngularJS directive 实现分页包装指令

AngularJS directive 分页指令写这篇文章的主要目的是为了记录自己的学习过程,方便以后查看,当然也希望有人指点一二,互相学习。一些angularjs directive的基础知识就不说了,直接上代码。首先是myPagination.htmlmyPagination.html<div> <nav class="pull-right"> <ul class="pa

rodbate的博客 2502

AngularJs的directive指令的link属性详解

在AngularJs中不能直接使用JQuery去选择dom元素,它在指令directive中提供了link属性来让开发者操作dom,具体代码如下:01&lt;!DOCTYPE html&gt;02&lt;html lang="en"&gt;03&lt;head&gt;04    &lt;meta charset="UTF-8"&gt;05    &lt;title&gt;Document&

KHOST的博客 1534

AngularJS.directive系列:嵌套directive的通讯及scope研究

一、directive中的scope   directive无疑是AngularJS中比较复杂难懂的部分,而directive中个scope更是其中最复杂的部分了,尤其是在嵌套directive中互相通讯的时候。   单独的directive中,scope概念还是比较简单的,此时scope的三种取值情况为: scope:false  此时,directive没有独立的scope对象,li

likaiwalkman@csdn - Code Study Area 1805

angularjs Directive自定义指令详解

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

setsunadoudou的博客 219
上一篇: AngularJs学习笔记(一)初认识AngularJs
下一篇: AngularJs学习笔记(三)控制器和过滤器
zengxl__
博客等级 码龄11年 2粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值