欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

AngularJS 表达式详解及实例代码

程序员文章站 2022-10-18 15:40:04
前面了解了angularjs的基本用法,这里就跟着pdf一起学习下表达式的相关内容。   在angularjs中的表达式,与js中并不完全相同。   首先它的表达式要放...

前面了解了angularjs的基本用法,这里就跟着pdf一起学习下表达式的相关内容。

  在angularjs中的表达式,与js中并不完全相同。

  首先它的表达式要放在{{}}才能使用,其次相对于javascript中的表达式概念,它有以下几点不同:

  1 作用域不同

  在javascript中默认的作用于是window,但是在angularjs中就不同了。它使用$scope控制作用于。

  2 允许未定义的值

  在angularjs中,如果使用了未定义的表达式,也不会出现错误,直接返回空值。

  3 过滤器

  可以在表达式中使用 | 管道命令符,添加过滤器,与unix的命令行类似。 

  4 $符号

  用以区别angular的方法与用户自定义的方法。

  下面看一段小代码:

<!doctype html>
<html ng-app>
  <head>
     <meta http-equiv="content-type" content="text/html; charset=utf-8" />
     <script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script>
  </head>
  <body>
    <div ng-controller="ctl">
      name:<input ng-model="name" type="text">
      <button ng-click="reset()">reset</button>
      <br>
      {{name}}
      <br>
      hello ! {{test}}
      <br>
      filter : {{name | uppercase}}
    </div>
    <script type="text/javascript">
      function ctl($scope){
        var str = "init";
        $scope.name = str;

        $scope.reset = function(){
          $scope.name = str;
        }
      }
    </script>
  </body>
</html>

  通过reset触发reset方法,重置name变量的内容;

  在表达式中,引用了未定义的test,但是并没有报错,直接默认显示为空;—— {{test}}

  最后使用过滤器,将表达式中name的值转化成大写。—— {{name | uppercase}}

  运行结果:

 AngularJS 表达式详解及实例代码

 AngularJS 表达式详解及实例代码

     以上就是对angularjs 表达式的资料整理,后续继续补充相关资料,谢谢大家的支持!