• AngularJS 学习


    标签 : web angularjs html

    记录不怎么熟悉的语法


    AngularJS 教程

    AngularJS Scope(作用域)

    $rootScope

    $rootScope : 根作用域,所有 controller 都可以调用,类似于项目级别的全局变量
    js赋值 : $rootScope.lastname = "Refsnes";
    html调用 : $root.lastname

    $scope 作用域

    之间无法互相访问
    Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带。
    Scope 是一个对象,有可用的方法和属性。
    Scope 可应用在视图和控制器上

    AngularJS 控制器

    AngularJS 控制器 控制 AngularJS 应用程序的数据。 AngularJS 控制器是常规的 JavaScript 对象。
    
    ng-controller 
    ng-controller 指令定义了应用程序控制器
    
    ng-controller="myCtrl" 属性是一个 AngularJS 指令。用于定义一个控制器。 myCtrl 函数是一个 JavaScript 函数。
    
    JS引用
    
    
    <script src="personController.js"></script>  
    多个controller 
    js文件中 定义一个app    
    之后可以定义多个controller   
    HTML中也可以对应多个controller

    多个controller控制器

    var app = angular.module('myApp', []);
    app.controller('myCtrl1', function($scope) {
        $scope.firstName = "Johns";
        $scope.lastName = "Doef";
    });
        app.controller('myCtrl2', function($scope) {
        $scope.firstName = "Tom";
        $scope.lastName = "kkk";
    });

    AngularJS 过滤器

    过滤器

    过滤器可以使用一个管道字符(|)添加到表达式和指令中。
    AngularJS 过滤器可用于转换数据

    currency 格式化数字为货币格式

    filter 从数组项中选择一个子集。

    lowercase 格式化字符串为小写。

    orderBy 根据某个表达式排列数组

    uppercase 格式化字符串为大写

    过滤输入

    输入过滤器可以通过一个管道字符(|)和一个过滤器添加到指令中,该过滤器后跟一个冒号和一个模型名称。

    <p><input type="text" ng-model="test"></p>
    <ul>
      <li ng-repeat="x in names | filter:test | orderBy:'country'">
        {{ (x.name | uppercase) + ', ' + x.country }}
      </li>
    </ul>

    自定义过滤器

    以下实例自定义一个过滤器 reverse,将字符串反转

    <!DOCTYPE html>
    <html>
    <meta charset="utf-8">
    <script src="https://cdn.bootcss.com/angular.js/1.4.6/angular.min.js"></script> 
    <body> 
    <div ng-app="myApp" ng-controller="myCtrl">
    姓名: {{ msg | reverse }}
    </div>
    <script>
    var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope) {
        $scope.msg = "Runoob";
    });
    app.filter('reverse', function() { //可以注入依赖
        return function(text) {
            return text.split("").reverse().join("");
        } 
    });
    </script>  
    </body>
    </html>

    uppercase,lowercase 大小写转换

    AngularJS 服务(Service)

    AngularJS 服务(Service)

    AngularJS 中你可以创建自己的服务,或使用内建服务。
    在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用。

    $location

    locationcontrollerlocation.absUrl(); 內建service,获取当前页面的url地址

    $http 服务

    $http 是 AngularJS 应用中最常用的服务。 服务向服务器发送请求,应用响应服务器传送过来的数据。

    $timeout 服务

    intervalAngularJSinterval 服务对应了 JS window.setInterval 函数。

    timeout;interval 可用于设置始终运行的延时服务。

    创建自定义服务

    要使用自定义服务,需要在定义控制器的时候独立添加,设置依赖关系:
    当你创建了自定义服务,并连接到你的应用上后,你可以在控制器,指令,过滤器或其他服务中使用它。

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <script src="https://cdn.bootcss.com/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
    <div ng-app="myApp" ng-controller="myCtrl">
    
    <p>255 的16进制是:</p>
    
    <h1>{{hex}}</h1>
    
    </div>
    
    <p>自定义服务,用于转换16进制数:</p>
    
    <script>
    var app = angular.module('myApp', []);
    
    app.service('hexafy', function() {
        this.myFunc = function (x) {
            return x.toString(16);
        }
    });
    app.controller('myCtrl', function($scope, hexafy) {
      $scope.hex = hexafy.myFunc(255);
    });
    </script>
    
    </body>
    </html>

    AngularJS XMLHttpRequest

    httphttp.get
    - http.headhttp.post
    - http.puthttp.delete
    - http.jsonphttp.patch

    简单get/post请求

    // 简单的 GET 请求,可以改为 POST
    $http({
        method: 'GET',
        url: '/someUrl'
    }).then(function successCallback(response) {
            // 请求成功执行代码
        }, function errorCallback(response) {
            // 请求失败执行代码
    });
    
    $http.get('/someUrl', config).then(successCallback, errorCallback);
    $http.post('/someUrl', data, config).then(successCallback, errorCallback);

    AngularJS Select(选择框)

    AngularJS 可以使用数组或对象创建一个下拉列表选项。

    ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出
    $scope.names = [“Google”, “Runoob”, “Taobao”];

    设置下拉框初始值

    方法1 scope.selectedCar=scope.cars.car02; //设置第2个为初始值;
    方法2

  • 相关阅读:
    shell脚本:Kill掉MySQL中所有sleep的client线程
    为什么事务要提交或者回滚?
    MySQL 性能优化
    解决:Reading table information for completion of table and column names
    mysql distinct 用法详解及优化
    MySQL Profiling 的使用
    手把手教你用Strace诊断问题[转]
    mysql,命令导入导出表结构或数据
    八种架构设计模式及其优缺点概述(下)
    mysql多实例配置下,用脚本启动mysql时,出现Please read "Security" section of the manual to find out how to run mysqld as root!
  • 原文地址:https://www.cnblogs.com/superscfan/p/12257029.html
Copyright © 2020-2023  润新知