记录一下工作中使用到的一些AngularJS内置指令

内置指令:所有的内置指令的前缀都为ng,不建议自定义指令使用该前缀,以免冲突

1. ng-model

 使用ng-model实现双向绑定,通过表单的与当前作用域进行绑定

 <input ng-model="greeting">
<p>Hello {{greeting || "World"}}</p>

 那么此时,input框中输入什么, <p>标签中就会随时更新

除此之外,ng-model是可以用到任意一个标签中的,只是用到其他标签的时候,当前作用域的值,是要另外赋值,而不能像input框一样输入

2. ng-init

 我们一般使用这个指令来在Controller中初始化作用域,这里的init()会在对应的Controller中定义

<form ng-init="init()">
...
</form>

3. ng-submit

 点击表单提交的时候会触发该指令,doIt()这个方法会在对应的Controller中取定义

<form ng-submit = "doIt()">
...
<input type="submit" value="提交" />
</form>

4. ng-show/ng-hide

根据ng-show/ng-hide后面的所跟的表达式来显示或隐藏标签,经常通过Controller作用域变量的变化来控制标签的显示与隐藏

<div ng-show="isShow">
...
</div>
<div ng-hide="1+1=2">
  ...
</div>

5. ng-change

结合ng-model使用,ng-model中的变量发生变换则触发该指令

<input type="text" ng-model="calc.arg"  ng-change="calc.result = calc.arg*2" />
<code>{{ calc.result }}</code>

6. ng-bind

ng-bind是单向绑定,用于展示数据的,只能通过$scope去控制数据,然后展示在view中,

而ng-model是双向绑定,用于控制数据,$scope或view中的变化都能互相影响

<input ng-model="object.xxx">
<span ng-bind="object.xxx"></span>

ng-bind就相当于{{object.xxx}},展示在当前视图中

7. ng-options

一般与select标签一起使用,直接看代码,animals是作用域中的变量,将会在对应的Controller中定义

<select ng-model="seleted" ng-options="a.name for a in animals">
<option value="">请选择你的萌宠</option>
</select>

8. ng-repeat

遍历集合,生成对应的模板实例,一般与ul,li标签一起使用,使用方式类似ng-options

<ul>
<li class="menuitem" ng-repeat="item in menuListItem" >
<div class="{{item.icoClass}}"><i class="pointmenu_1" ng-show="{{item.pointm}}"></i></div>
<a name="{{item.pName}}">{{item.menuName.con}}
     <span>{{item.menuName.describe}}</span>
    </a>
</li>
</ul>

9. ng-class

在Angular中要改变一个标签的class,最常见的就是通过在Controller scope中定义某变量来改变class

function ctrl($scope) {
$scope.test = "tips"
} <div class="{{tips}}">
...
</div>

这也是我经常使用的方式,但后来认识到Controller中,要尽量少的设计DOM元素上的操作后,开始尝试使用ng-class

function Ctr($scope) {
$scope.isActive = true;
} <div ng-class="{true: 'active', false: 'inactive'}[isActive]">
</div>

isActive为true时,class为active,false时为inactive

function Ctr($scope) {
$scope.isSelected = 'true';
}
<div ng-class {'selected': isSelected, 'car': isCar}">
</div>

isSelected 为true时,class为selected, isCar为true时为,class为car

Angular内置指令的更多相关文章

  1. angular内置指令相关知识

    原文地址 https://www.jianshu.com/p/5a5b43a8e91f 大纲 1.angular指令的分类 2.angular指令之——组件 3.angular指令之——属性指令 (n ...

  2. Angular内置指令(一)

    要注意的是不要把自己开发的指令以ng开头,以免与内置指令冲突  目录:ng-disabled,ng-readonly,ng-checked,ng-selected,ng-href,ng-src,ng- ...

  3. Angular——内置指令

    内置指令 ng-app 指定应用根元素,至少有一个元素指定了此属性. ng-controller 指定控制器 ng-show控制元素是否显示,true显示.false不显示 ng-hide控制元素是否 ...

  4. Angular内置指令(二)

    目录: $rootScope,ng-app,.run(),ng-include,ng-repeat,ng-if,ng-switch,ng-init ng-show/ng-hide,ng-model,n ...

  5. [转] Angular 4.0 内置指令全攻略

    [From] https://segmentfault.com/a/1190000010416792 简书链接 在这篇文章中,我们将分别列举每一个内置指令的用法,并提供一个例子作为演示.尽量用最少最简 ...

  6. Angular中的内置指令和自定义指令

    NG中的指令,到底是什么(what)? 为什么会有(why)?以及怎样使用(how)? What: 在NG中,指令扩展HTML功能,为 DOM 元素调用方法.定义行为绑定数据等. Why: 最大程度减 ...

  7. AngularJS内置指令

    指令,我将其理解为AngularJS操作HTML element的一种途径. 由于学习AngularJS的第一步就是写内置指令ng-app以指出该节点是应用的根节点,所以指令早已不陌生. 这篇日志简单 ...

  8. angularJS内置指令一览

    基础ng指令 ng-href ng-src ng-disabled ng-readonly ng-checked ng-selected ng-class ng-style ng-show ng-hi ...

  9. AngularJS高级程序设计读书笔记 -- 指令篇 之 内置指令

    1. 内置指令(10-12 章) AngularJS 内置超过 50 个内置指令, 包括 数据绑定,表单验证,模板生成,时间处理 和 HTML 操作. 指令暴露了 AngularJS 的核心功能, 如 ...

随机推荐

  1. Codeforces 432 D. Prefixes and Suffixes

    用扩展KMP做简单省力..... D. Prefixes and Suffixes time limit per test 1 second memory limit per test 256 meg ...

  2. android下获取无线wif信号、ssid、MAC等操作类

    一个android下获取无线wif信号.ssid.MAC等操作的类. WifiAdmin.java package com.afu; import java.util.List; import and ...

  3. char与unsigned char 差别

    char 与 unsigned char的本质差别 http://bbs.csdn.net/topics/270080484 同一个内存内容:10010000      你用char*   解释是-1 ...

  4. OCP解决问题053-16 MEMORY_TARGET

    16.Setting which of the following initialization parameters enables Automatic Memory Management? A. ...

  5. A WPF/MVVM Countdown Timer

    Introduction This article describes the construction of a countdown timer application written in C# ...

  6. android判断是否含有某权限

    boolean has_permission = (PackageManager.PERMISSION_GRANTED == pkm.checkPermission("android.per ...

  7. poj 2288 Islands and Bridges

    题意: 给你一个双向连通图,求 获得权值最大 的 哈密顿通路的 权值 和 这个权值对应的数目: 其中权值计算方法是  列如 ABCD  权值是a+b+c+d+ab+bc+cd 如果 A,B,C  和B ...

  8. java Double保留小数点位数

    0和#都是占位符,但在不同的地方,作用不一样0: 比实际数字的位数多,不足的地方用0补上. new DecimalFormat("00.00").format(3.14) //结果 ...

  9. Cocos2d-x 3.0final 终结者系列教程01-无论是从cocos2d-x2.x升级到版本cocos2d-x3.x

    诡谲的江湖,易变. 花花世界,车来人往. 最终确定.安家,将Cocos2d-x3.0final相关技术精加工的版本.并推出了博客文章, 不为他人,只为自己. 学习交流QQ群:301954471 --- ...

  10. ubuntu nginx安装及相关linux性能參数优化

    一.安装 下载源代码,解压:tar -xzvf nginx-1.4.7.tar.gz ./configure make && make install 改动默认nginx的监听port ...