angular.js常用内置指令

**指令,我将其理解为AngularJS操作HTML element的一种途径。
AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-。**

angularjs指令:

1.ngApp

写法:ng-app
ng-app 指令初始化一个 AngularJS 应用程序。
①启动ng
②指定作用范围,将指令写在根标签(html)
如:

`<!DOCTYPE html>
<html ng-app>//将根节点作为指定的范围
<head lang="en">
</head>
</html>
`

2:ngInit 指令 来完成数据的初始化

写法: <any ng-init="a=1;b=2"/>
①不需要在通过ngInit指令定义数据时候,加上var关键字
②ngInit所初始化的变量是可以在整个html去使用变量
通过ngInit调用一次,初始化多个变量??

<!--通过ngInit指令定义一个数组-->
<span ng-init=" list=[100,200,300]">
  {{list[1]}}   //100
</span>
<p>{{list[1]}}</p> // 200
<span ng-init="car={name:'BMW',price:20}">
  {{"汽车的价格为:"+car.price}} //汽车的价格为20
</span>

3.{{}} 常用表达式

写法:<any>{{XXX}}</any>

<!DOCTYPE html>
<html ng-app>
<head lang="en">
  <meta charset="UTF-8">
  <script src="js/angular.js"></script>
  <title></title>
</head>
<body>
<!--算术运算-->
<h1>{{3*5}}</h1>

<!--比较运算符-->
<span>{{3>5}}</span>

<!-- 逻辑运算 && || ! -->
<p>真与假的与运算:{{true && false}}</p>

<!--三目运算符-->
<p>{{3>2?'大于':'小于等于'}}</p>
</body>
</html>

值得注意的是只有在指令ng-app指定范围才有效。

4 ngIf:选择是否要显示出来(挂载到DOM,从DOM中删除)


写法:

<table ng-init="stuList=[
  {name:'zhangsan',score:80,sex:'male'},
  {name:'Reese',score:81,sex:'male'},
  {name:'Finch',score:82,sex:'male'},
  {name:'Lincoln',score:83,sex:'male'},
  {name:'TBag',score:84,sex:'male'},
  ]">
  <thead>
    <tr>
      <th>名称</th>
      <th>成绩</th>
      <th>性别</th>
    </tr>
  </thead>
  <tbody>
    <tr ng-if="tmp.score > 82" ng-repeat="tmp in stuList">
      <td>{{tmp.name}}</td>
      <td>{{tmp.score}}</td>
      <td>{{tmp.sex}}</td>
    </tr>
  </tbody>

5 ngShow/ngHide 选择是否要显示出来(显示或者隐藏)

写法:

<div ng-init="isMemeber=false;
            hasMore=false;
            isFormValid=false;
            isAgree=true;
            imgUrl='1.jpg'">
    <p ng-if="isMemeber">仅会员可见</p>

    <button ng-show="hasMore">加载更多</button>
    <p ng-hide="hasMore">没有更多数据可以加载了</p>

    <img ng-src="img/{{imgUrl}}" alt=""/>

    是否同意<input type="checkbox" ng-checked="isAgree"/>
    <br/>

    <button ng-disabled="!isFormValid">
      注册
    </button>

6 ngSrc 相当于src 用来显示图片的路径

写法:<img ng-src="img/{{imgUrl}}" />
注意:在使用ngSrc去读取变量中值的时候,要记得加上双花括号。如果你写的不是ngSrc而是src,显示是ok的,但是控制台是会报错的,通过ngSrc去指定就搞定了

 <img ng-src="img/{{imgUrl}}" alt=""/>

7 ngdisabled是否禁用摸个控件

写法:<any ng-disabled='表达式'></any>

8 ngchecked 是否选中

9 ngRepeat重复实例化模板

使用ngRpeat的时候要遍历的集合默认是不允许有重复的数据,可以通过 track by $index来指定一个不会重复的值就可以解决报错的问题。
如:

<!--$index是在使用ngRepeat时所提供的特殊属性,记录的是迭代的偏移量-->
//如果遍历的集合有重复的数据的话:
//正确的写法:
<ul ng-init='myList=[10,10,20,30]'>
  <li ng-repeat="tmp in myList track by $index">
    {{"$index is "+$index+" tmp is "+tmp}}
  </li>
</ul>
//报错:
<ul ng-init='myList=[10,10,20,30]'>
  <li ng-repeat="tmp in myList ">
    {{"$index is "+$index+" tmp is "+tmp}}
  </li>
</ul>

这里放一个demo供大家参考:

<!DOCTYPE html>
<html ng-app>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <script src="js/angular.js"></script>
</head>
<body>
/二种语法:
//<any ng-repeat="临时变量的名称 in 集合的名称"></any>
//<any ng-repeat="(key,value) in 集合的名称"></any>
  <div ng-init="isMemeber=false;
            hasMore=false;
            isFormValid=false;
            isAgree=true;
            imgUrl='1.jpg'">
    <p ng-if="isMemeber">仅会员可见</p>

    <button ng-show="hasMore">加载更多</button>
    <p ng-hide="hasMore">没有更多数据可以加载了</p>

    <img ng-src="img/{{imgUrl}}" alt=""/>

    是否同意<input type="checkbox" ng-checked="isAgree"/>
    <br/>

    <button ng-disabled="!isFormValid">
      注册
    </button>

  </div>

</body>
</html>

“`
这只是angularjs常用到的指令。当然hai有很多指令如ngBind,ngchange,ngClassEven,ngCopy等等。我就不一一列举了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值