angular常用指令(php中可以用angularjs的指令吗)
本文目录
php中可以用angularjs的指令吗
摘要:使用过AngularJS的朋友应该最感兴趣的是它的指令。现今市场上的前端框架也只有AngularJS拥有自定义指令的功能,并且AngularJS是目前唯一提供Web应用可复用能力的框架。目前有很多JavaScript产品提供插... SyntaxHighlighter.all();... 使用过 AngularJS 的朋友应该最感兴趣的是它的指令。现今市场上的前端框架也只有AngularJS 拥有自定义指令的功能,并且AngularJS 是目前唯一提供Web应用可复用能力的框架。 目前有很多JavaScript 产品提供插件给Web开发人员。例如, Bootstrap 就是当前比较流行的提供样式和JavaScript插件的前端开发工具包。但是开发人员在使用Booostrap中的插件时, 必须切换到JavaScript 模式来写 jQuery 代码来激活插件虽然jQuery 代码写起来十分简单,但是必须和HTML进行同步,这是一个单调乏味且容易出错的过程。 AngularJS主页展示了一个简单的例子,用于实现Bootstrap中的 Tab功能,可以在页面中轻松添加 Tab 功能,并且使用方法和 ul 标签一样简单。HTML代码如下: 复制代码 《body ng-app="components"》 《h3》BootStrap Tab Component《/h3》 《tabs》 《pane title="First Tab"》 《div》This is the content of the first tab.《/div》 《/pane》 《pane title="Second Tab"》 《div》This is the content of the second tab.《/div》 《/pane》 《/tabs》 《/body》 复制代码 JavaScript代码如下: 复制代码 angular.module(’components’, ). directive(’tabs’, function() { return { restrict: ’E’, transclude: true, scope: {}, controller: , template: ’《div class="tabbable"》’ + ’《ul class="nav nav-tabs"》’ + ’《li ng-repeat="pane in panes" ng-class="{active:pane.selected}"》’+***隐藏网址*** ’《/li》’ + ’《/ul》’ + ’《div class="tab-content" ng-transclude》《/div》’ + ’《/div》’, replace: true }; }). directive(’pane’, function() { return { require: ’^tabs’, restrict: ’E’, transclude: true, scope: { title: ’@’ }, link: function(scope, element, attrs, tabsCtrl) { tabsCtrl.addPane(scope); }, template: ’《div class="tab-pane" ng-class="{active: selected}" ng-transclude》’ + ’《/div》’, replace: true }; }) 复制代码***隐藏网址*** image 正如你所见,除了拥有用于实现指令的 《tabs》 和《pane》 标签,页面和常规HTML页面没有什么区别。HTML开发人员无需编写任何代码。当然,总需要有第一个吃螃蟹的人,创建指令共享使用,但是目前Tabs指令已经很常见了,可以在任何地方复用(如BootStrap,、jQueryUI、Wijmo, 和一些知名的前端插件集)。 由于指令的易用和易编写,许多用户已经开始使用AngularJS编写指令了。例如, AngularJS 开发组已经基于AngularJS实现了一系列指令-UI Bootstrap 来代替Bootstrap; 知名ComponentOne 控件厂商也在AngularJS 基础上创建了Wijmo ;我们也可以在GitHub上找到一些公共指令资料库:jQueryUI widgets。 拥有了 AngularJS,是不是觉得自己已经站在了巨人的肩膀上了?但是不要高兴的太早,如果已经有了这么多的指令供我们使用,那我们为什么还要学习AngularJS ,为什么还要学习自定义指令呢? 举个简单的例子,也许你有特殊的需求:假设你在一家财务公司工作,你需要创建一张财务表单,它需要以表格的形式展示数据、拥有绑定、、校验并且同步数据更新到服务器的功能。表单插件很常见但是能够满足这些具体需求的不得而知了,所以你必须根据实际业务需求来创建自定义指令。 复制代码 《body ng-app="abcFinance"》 《h3》Offshore Investment Summary《/h3》 《abc-investment-form customer="currentCustomer" country="currentCountry"》 《/abc-investment-form data》 《/body》 复制代码 这就是本篇文章的目的,接下来我们会讨论如何创建 AngularJS指令。 创建自定义AngularJS 指令 文章开头的自定义指令十分的简单。它仅仅实现了同步的功能。一般指令是包含更多元素的: 复制代码 //创建指令模块 (或者检索现有模块) var m = angular.module("myApp"); // 创建"my-dir"指令 myApp.directive("myDir", function() { return { restrict: "E", // 指令是一个元素 (并非属性) scope: { // 设置指令对于的scope name: "@", // name 值传递 (字符串,单向绑定) amount: "=", // amount 引用传递(双向绑定) save: "&" // 保存操作 }, template: // 替换HTML (使用scope中的变量) "《div》" + " {{name}}: 《input ng-model=’amount’ /》" + " 《button ng-click=’save()’》Save《/button》" + "《/div》", replace: true, // 使用模板替换原始标记 transclude: false, // 不复制原始HTML内容 controller: , link: function (scope, element, attrs, controller) {…} } }); 复制代码 效果如下: image 注意这个自定义指令遵循一种格式:以"my" 为前缀,类似于命名空间,因此如果你在应用中引用了多个模块指令,你可以通过前缀很容易的判断出它是在哪定义的。这不是硬性要求,但是这样做可以带来很多便利。 指令的构造函数会返回带有属性的JavaScript 对象。这些内容在AngularJS 主页中都有清晰说明。以下是我对一些属性的理解: restrict: 说明指令在HTML中的应用形式,备选项有"A"、"E" 和 "C", "M" ,分别代表 attribute、element、class和comment(默认值为"A")。我们将更多的关注attributes-如何创建UI元素。 scope: 创建指令的作用范围,scope在指令中作为属性标签传递。Scope 是创建可以复用指令的必要条件,每个指令(不论是处于嵌套指令的哪一级)都有其唯一的作用域,它不依赖于父scope。scope 对象定义names 和types 变量。上面的例子即创建了3个scope变量。 name: "@" (值传递,单向绑定): "@"符号表示变量是值传递。指令会检索从父级scope中传递而来字符串中的值。指令可以使用该值但无法修改,是最常用的变量。 amount: "=" (引用,双向绑定) "="符号表示变量是引用传递。指令检索主Scope中的引用取值。值可以是任意类型的,包括复合对象和数组。指令可以更改父级Scope中的值,所以当指令需要修改父级Scope中的值时我们就需要使用这种类型。 save: "&" (表达式) “&”符号表示变量是在父级Scope中启作用的表达式。它允许指令实现比修改值更高级的操作。 template: 替代原始模板中的标记的字符串。替换功能将替换所有旧元素为新值。注意template是如何使用Scope中定义的变量的。这允许你无需写任何额外的代码即可创建macro-style 风格指令。replace: 说明是否替换原始标记中的值或是追加原始标记中的值。默认值是false,这时原始标记将被保留。 transclude: 说明自定义指令是否复制原始标记中的内容。例如,之前展示的“tab”指令设置了transclude 为 true,因为tab 元素包含其他HTML 元素。 "dateInput" 指令则需要在初始化时为空,所以需要设置transclude 为false。 link: 该方法在指令中扮演着重要的角色。它负责执行DOM 操作和注册事件监听器等。link 方法包含以下参数: scope: 指令Scope的引用。scope 变量在初始化时是不被定义的,link 方法会注册监视器监视值变化事件。 element: 包含指令的DOM元素的引用, link 方法一般通过jQuery 操作实例(如果没有加载jQuery,还可以使用Angular’s jqLite )。***隐藏网址*** 注意,当调用link 方法时, 通过值传递("@")的scope 变量将不会被初始化,它们将会在指令的生命周期中另一个时间点进行初始化,如果你需要监听这个事件,可以使用scope.$watch 方法。
angularJs和jQuery的区别是什么
区别1、 jQuery是一个优秀的Javascript轻量级库,可以兼容CSS3和大部分浏览器,只是2.0版本后就不再支持IE(6/7/8)了;AngularJS是一筐优秀的前端框架,Google的多款产品都有它的影子。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。区别2、 以DOM为参照时,jQuery可以根据用户交互,快捷的修改DOM元素,友好体验感强,而AngularJS注重的是数据的展示,不可避免的会对DOM造成一些破坏和重构,相对的AngularJS 的工作量比JQuery少,也就是工作效率更高点。区别3、 这两款语言,是出于不同的设计目的创造的,所以应用的方向,使用的侧重点也不同。jQuery是命令式编程语言,就是给计算机下达一系列精细的执行步骤命令,以达到想要的结果;AngularJS是声明式的编程语言,就是告诉计算机你想要的结果,让它自己去实现。
autocad快捷键命令大全2017
学习cad掌握cad快捷键命令是基础,下面为大家介绍2016最新cad快捷键命令大全。AutoCAD是目前应用广泛的CAD软件,具有完善的图形绘制功能、强大的图形功能、可采用多种方式进行二次开发或用户定制、可进行多种图形格式的转换,具有较强的数据交换能力,同时支持多种硬件设备和操作平台,还可以通过多种应用软件适应于建筑、机械、测绘、电子、服装以及航空航天等行业的设计需求。这些整理出来比较全的AutoCAD快捷键命令:(一)字母类1、对象特性ADC, *ADCENTER(设计中心“Ctrl+2”)CH, MO *PROPERTIES(修改特性“Ctrl+1”)MA, *MATCHPROP(属性匹配)ST, *STYLE(文字样式)COL, *COLOR(设置颜色)LA, *LAYER(图层操作)LT, *LINETYPE(线形)LTS, *LTSCALE(线形比例)LW, *LWEIGHT (线宽)UN, *UNITS(图形单位)ATT, *ATTDEF(属性定义)ATE, *ATTEDIT(属性)BO, *BOUNDARY(边界创建,包括创建闭合多段线和面域)AL, *ALIGN(对齐)EXIT, *QUIT(退出)EXP, *EXPORT(输出其它格式文件)IMP, *IMPORT(输入文件)OP,PR *OPTIONS(自定义CAD设置)PRINT, *PLOT(打印)PU, *PURGE(清除垃圾)R, *REDRAW(重新生成)REN, *RENAME(重命名)SN, *SNAP(捕捉栅格)DS, *DSETTINGS(设置极轴追踪)OS, *OSNAP(设置捕捉模式)PRE, *PREVIEW(打印预览)TO, *TOOLBAR(工具栏)V, *VIEW(命名视图)AA, *AREA(面积)DI, *DIST(距离)LI, *LIST(显示图形数据信息)2、绘图命令:PO, *POINT(点)L, *LINE(直线)XL, *XLINE(射线)PL, *PLINE(多段线)ML, *MLINE(多线)SPL, *SPLINE(样条曲线)POL, *POLYGON(正多边形)REC, *RECTANGLE(矩形)C, *CIRCLE(圆)A, *ARC(圆弧)DO, *DONUT(圆环)EL, *ELLIPSE(椭圆)REG, *REGION(面域)MT, *MTEXT(多行文本)T, *MTEXT(多行文本)B, *BLOCK(块定义)I, *INSERT(插入块)W, *WBLOCK(定义块文件)DIV, *DIVIDE(等分)H, *BHATCH(填充)3、修改命令:CO, *COPY(复制)MI, *MIRROR(镜像)AR, *ARRAY(阵列)O, *OFFSET(偏移)RO, *ROTATE(旋转)M, *MOVE(移动)E, DEL键 *ERASE(删除)X, *EXPLODE(分解)TR, *TRIM(修剪)EX, *EXTEND(延伸)S, *STRETCH(拉伸)LEN, *LENGTHEN(直线拉长)SC, *SCALE(比例缩放)BR, *BREAK(打断)CHA, *CHAMFER(倒角)F, *FILLET(倒圆角)PE, *PEDIT(多段线)ED, *DDEDIT(修改文本)4、视窗缩放:P, *PAN(平移)Z+空格+空格, *实时缩放Z, *局部放大Z+P, *返回上一视图Z+E, *显示全图5、尺寸标注:DLI, *DIMLINEAR(直线标注)DAL, *DIMALIGNED(对齐标注)DRA, *DIMRADIUS(半径标注)DDI, *DIMDIAMETER(直径标注)DAN, *DIMANGULAR(角度标注)DCE, *DIMCENTER(中心标注)DOR, *DIMORDINATE(点标注)TOL, *TOLERANCE(标注形位公差)LE, *QLEADER(快速引出标注)DBA, *DIMBASELINE(基线标注)DCO, *DIMCONTINUE(连续标注)D, *DIMSTYLE(标注样式)DED, *DIMEDIT(标注)DOV, *DIMOVERRIDE(替换标注系统变量)(二)常用CTRL快捷键【CTRL】+1 *PROPERTIES(修改特性)【CTRL】+2 *ADCENTER(设计中心)【CTRL】+O *OPEN(打开文件)【CTRL】+N、M *NEW(新建文件)【CTRL】+P *PRINT(打印文件)【CTRL】+S *SAVE(保存文件)【CTRL】+Z *UNDO(放弃)【CTRL】+X *CUTCLIP(剪切)【CTRL】+C *COPYCLIP(复制)【CTRL】+V *PASTECLIP(粘贴)【CTRL】+B *SNAP(栅格捕捉)【CTRL】+F *OSNAP(对象捕捉)【CTRL】+G *GRID(栅格)【CTRL】+L *ORTHO(正交)【CTRL】+W *(对象追踪)【CTRL】+U *(极轴)(三)常用功能键【F1】 *HELP(帮助)【F2】 *(文本窗口)【F3】 *OSNAP(对象捕捉)【F7】 *GRIP(栅格)【F8】 *ORTHO(正交)以上三部分就是AutoCAD软件较为常用的cad快捷键命令大全,在使用AutoCAD过程中autocad快捷命令能提高你工作的效率。
如何使用 angular-auto-validate
通过这个demo可以基本了解angular常用指令ng-app,ng-controller,ng-class,ng-if,ng-submit,ng-minlength,ng-maxlength等的使用,帮助理解scope(域)在angular中的意义,掌握如何使用angular来开发表单验证。
更多文章:
grid on在matlab中是什么意思(matlab中grid函数是干什么用的)
2024年7月13日 21:39
1970年1月1日发生了啥(华为手机使用情况统计数据中为什么有1970年1月1日)
2024年6月12日 11:15
英语四级activities(大学英语四级参加各种社会实践活动的写作)
2024年9月3日 00:35
台式电脑wmi错误是什么意思?什么是wmi服务 win7系统禁用wmi服务方法
2023年11月21日 14:00
indifferent是什么意思中文(indifferent什么意思)
2024年7月21日 20:05
java6下载(下载Java(TM)6Update27这个软件让我误删了,我怎么下载安装啊我用的是WIN7家庭普通版)
2024年7月9日 22:03
mysql循环执行sql语句(我有多条sql的更新语句,怎么用一个循环语句执行一次更新整一张数据表的数据)
2023年12月2日 01:40
javascript日期对象(JavaScript里面为什么创建日期对象时经常用到new为什么创建别的对象时不用呢)
2024年5月16日 18:33
安装java应该先安装什么软件(学JAVA编程都要下什么软件)
2024年7月23日 11:29
betweenand(数据库中,between…and相当于数学中的开区间还是闭区间急!!!)
2023年5月29日 22:00
个人介绍的网页模板(求个人介绍网页模板html要中文的 要六个链接)
2024年7月2日 03:24