• angular.js 例子


    angular.js是一个前端的MVC框架,12年的时候曾近在一个portal平台的项目中使用过。

    下面给出一个angular.js的典型例子,涵盖一些基础的知识点,用以复习备忘:

    <html ng-app = "myapp" >
    <head>
      <script src="angular.js"></script>
    </head>
    <!--ng-controller 定义body内使用该控制器 -->
    <body ng-controller="userlist">
    <div class="container-fluid">
      <div class="row-fluid">
        <div class="span2">
          <!--ng-model 定义数据模型 -->
          Search: <input ng-model="key">
    
        </div>
        <div class="span10">
          <ul>
            <!--filter 实现过滤 -->
            <li ng-repeat="user in users | filter:key">
              <user name = 'fredric'></user>
            </li>
          </ul>
    
           </div>
      </div>
    </div>
    
    <script>
    //使用模块
    var app = angular.module("myapp", []);
    
    //自定义指令
    app.directive('user', function() {
       var directive = {};
       directive.restrict = 'E';
       directive.template = "name: <b>{{user.name}}</b> , password: <b>{{user.password}}</b>";
       
       return directive;
    });
    
    //定义服务
    app.factory('encrypt', function() {     
       var factory = {};  
       factory.encrypt01 = function(password) {
          return '***********'; 
       }
       return factory;
    }); 
    
    //定义控制器
    app.controller("userlist", function($scope, $http, encrypt) {
    $http.get("http://localhost:3000/test")
        .success(function(response) {
        
        //使用服务
        for(var i = 0; i < response.length; i++){
            response[i].password = encrypt.encrypt01(response[i].password);
        } 
        
        $scope.users = response;
        });
    });
     </script>
    
    </body>
    </html>

    总结:

    我认为用面向对象的工程来理解angular.js会更加容易:

      ng-app:定义模块化,其中value和constent定义这个模块的全局变量,在module方法里描述这个模块的依赖(包含哪些服务、控制器等);

      ng-controller:描述这个模块中的不同的类,controller本身类似这个类的构造函数,ng-model是这个类的成员,$scope可以理解为this指针;

      ng-directive:理解为UI widget;

      service:不同类(controller)之间的公共方法,类似utils模块;

      html:原本的html变为了视图,通过model即指令,呈现出模板的概念;

    其他诸如filter oute等,我觉得都可以理解成为一些小的特性库,对整个angular.js的架构无伤大雅。

  • 相关阅读:
    20165312 我期望的师生关系
    zookeeper04---ZAB协议
    zookeeper03-集群搭建
    zookeeper02
    Zookeeper01
    防止重复提交
    手动抛出异常事务回滚问题
    redis-07主从复制
    redis06-事务
    Redis-05持久化
  • 原文地址:https://www.cnblogs.com/Fredric-2013/p/4465790.html
Copyright © 2020-2023  润新知