• angular


    Demo1:简介

    ng-app ng-model 

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
    
        <div ng-app="">
            <p>名字:<input type="text" ng-model="name"></p>
            <h1>Hello {{name}}</h1>
        </div>
    
    </body>
    </html>
    View Code

    ng-bind  ng-init

    <!-- ng-init 指令初始化 AngularJS 应用程序变量
    ng-bind 指令把应用程序变量 name 绑定到某个段落的 innerHTML
    div要包含住ng-app,否则ng元素失效 -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> 
    </head>
    <body>
        <div ng-app="" ng-init="firstName='John'">
    
        <p>姓名为:<span ng-bind="firstName"></span></p>
        </div>
    </body>
    </html>
    View Code

    Module Controller  用汉字才能对齐,用英文就丑了

    <!-- AngularJS 模块(Module) 定义了 AngularJS 应用。
    AngularJS 控制器(Controller) 用于控制 AngularJS 应用。
    ng-app指令定义了应用, ng-controller 定义了控制器。 -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> 
    </head>
    <body>
        <p>尝试修改以下表单。</p>
    
        <div ng-app="myApp" ng-controller="myCtrl">
            姓: <input type="text" ng-model="lastName"><br>
            名:  <input type="text" ng-model="firstName"><br><br>
            name: {{firstName +" "+ lastName}}
        </div>
    
        <script>
            var app = angular.module('myApp', []);
            app.controller('myCtrl', function($scope) {
                $scope.firstName = 'John';
                $scope.lastName = 'Doe';
            })
        </script>
    </body>
    </html>
    View Code

    -------------------------------------------------------------------------------------------

    HTML 属性应当按照以下给出的顺序依次排列,确保代码的易读性。

    • class
    • id, name
    • data-*
    • src, for, type, href
    • title, alt
    • aria-*, role

    -----------------------------

    Demo2:指令

    HTML控制器input/select/textarea

    ng-repeat

    <!-- ng-repeat 指令会重复一个 HTML 元素 -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> 
    </head>
    <body>
        <div data-ng-app="" data-ng-init="names=['tab', 'ctrl', 'shift']">
            <ul>
                <li data-ng-repeat="x in names">
                    {{x}}
                </li>
            </ul>
        </div>
    </body>
    </html>
    View Code

    directive自定义指令

    <!-- angular.module小写
    restrict 值可以是以下几种:
    E 只限元素名使用
    A 只限属性使用
    C 只限类名使用
    M 只限注释使用
    restrict写在template同样的位置 -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> 
    </head>
    <body ng-app="myApp">
        <miao-directive></miao-directive>
        <script>
            var myApp = angular.module('myApp', []);
            myApp.directive('miaoDirective', function() {
                return {template: '<h1>自定义指令!</h1>'};
            });
        </script>
    </body>
    </html>
    View Code

     Demo3:模型

    ng-model 指令用于绑定应用程序数据到 HTML 控制器(input, select, textarea)的值。

    ng-model

    <!-- 引用controller内容就用ng-model -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> 
    </head>
    <body>
        <div ng-app="myApp" ng-controller="myCtrl">
            名字:<input type="text" ng-model="name">
        </div>
        <script>
            var app = angular.module('myApp', []);
            app.controller('myCtrl', function($scope) {
                $scope.name = 'Miaomiao Tab';
            });
        </script>
    </body>
    </html>
    View Code

     .

    <!-- angular写成了angula -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> 
    </head>
    <body>
        <div ng-app='myApp' ng-controller='myCtrl'>
            名字:<input type="text" ng-model="name">
            <h1>你输入了{{name}}</h1>
        </div>
        <script>
            var app = angular.module('myApp', []);
            app.controller('myCtrl', function($scope) {
                $scope.name = 'Miaomiao Tab';
            });
        </script>
    </body>
    </html>
    View Code

     error email ng-show

    <!-- div : form 
    text is required in span to show-->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> 
    </head>
    <body>
        <form ng-app="" name="myForm">
            Email: <input type="email" name="myAddress" ng-model="text">
            <span ng-show="myForm.myAddress.$error.email">email error</span>
            <p>在输入框中输入你的邮箱地址,如果不是一个合法的邮箱地址,会弹出提示信息。</p>
        </form>
    </body>
    </html>
    View Code

    valid dirty touched

    <!-- {{}} 
    myForm.myAddress.$valid not .email added-->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> 
    </head>
    <body>
        <form name="myForm" ng-app="">
        Email: <input type="email" name="myAddress" ng-model="text">
        <p>编辑邮箱地址,查看状态的改变。</p>
        <h1>状态</h1>
        <p>Valid:  {{myForm.myAddress.$valid}}(如果输入的值是合法的则为 true)。</p>
        <p>Dirty:  {{myForm.myAddress.$dirty}}(如果值改变则为true )。</p>
        <p>Touched:  {{myForm.myAddress.$touched}}(如果触屏点击的则为 true)。</p>
        </form>
    </body>
    </html>
    View Code

     bgcolor

    <!-- <style type="text/css">
    ng-model="myText"
    input.ng-invalid  not input .ng-invalid -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> 
        <style>
            input.ng-invalid{
                background-color: lightblue
            }
        </style>
    </head>
    <body>
        <form name="myForm" ng-app="">
            <span>输入你的名字:</span>
            <input name="myName" ng-model="myText" required>
        </form>
        <p>编辑文本域,不同状态背景颜色会发送变化。</p>
        <p>文本域添加了 required 属性,该值是必须的,如果为空则是不合法的。</p>
    </body>
    </html>
    View Code

    Demo4:控制域

    scope作用域:HTML视图与javascript控制器之间的纽带

    .

    <!-- app.controller('myCtrl', function($scope)  -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="myCtrl">
            <h1>{{carTab}}</h1>
        </div>
        <p>控制器中创建一个属性名 "carname",对应了视图中使用 {{ }} 中的名称。</p>
    
        <script type="text/javascript">
            var app = angular.module('myApp', []);
            app.controller('myCtrl', function($scope) {
                $scope.carTab = 'Volvo';
            })
        </script>
    </body>
    </html>
    View Code

     AngularJS 应用组成如下:

    View(视图), 即 HTML。
    Model(模型), 当前视图中可用的数据。
    Controller(控制器), 即 JavaScript 函数,可以添加或修改属性。
    scope 是模型。
    scope 是一个 JavaScript 对象,带有属性和方法,这些属性和方法可以在视图和控制器中使用。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <form ng-app="myApp" ng-controller="myCtrl">
            <input type="text" ng-model="name">
            <h1>我的名字是 {{name}}</h1>
        </form>
        <p>当你修改输入框中的值时,会影响到模型(model),当然也会影响到控制器对应的属性值。</p>
    
        <script>
            var app = angular.module('myApp', []);
            app.controller('myCtrl', function($scope) {
                $scope.name = 'Miaomiao Tab';
            });
        </script>
    </body>
    </html>
    View Code

    ng-repeat

    <!-- "var x in names" :   ng-repeat="x in names" -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="myCtrl">
            <ul>
                <li ng-repeat="x in names" ><h1>{{x}}</h1></li>
            </ul>
        </div>
    
        <script>
            var app = angular.module('myApp', []);
            app.controller('myCtrl', function($scope) {
                $scope.names=['tab', 'ctrl', 'shift'];
            });
        </script>
    </body>
    </html>
    View Code

    $rootScope

    <!-- 所有的应用都有一个 $rootScope,它可以作用在 ng-app 指令包含的所有 HTML 元素中。
    $rootScope 可作用于整个应用中。是各个 controller 中 scope 的桥梁。用 rootscope 定义的值,可以在各个 controller 中使用。 -->
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="myCtrl">
            <h1>姓氏为 {{lastname}} 家族成员:</h1>
            <ul>
                <li ng-repeat="x in names" >{{x}}</li>
            </ul>
        </div>
    
        <script>
            var app = angular.module('myApp', []);
            app.controller('myCtrl', function($scope, $rootScope) {
                $scope.names=['tab', 'ctrl', 'shift'];
                $rootScope.lastname =  'Refsnes';
            });
        </script>
        <p>注意 $rootScope 在循环对象内外都可以访问。</p>
    </body>
    </html>
    View Code

     aasdfasdfafsdasdasdfasdfasdasdf

    #^%&*^&*^(&^

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="myCtrl">
    
        名: <input type="text" ng-model="firstName"><br>
        姓: <input type="text" ng-model="lastName"><br>
        <br>
        姓名: {{firstName + " " + lastName}}
    
        </div>
    
        <script>
        var app = angular.module('myApp', []);
        app.controller('myCtrl', function($scope) {
            $scope.firstName = "John";
            $scope.lastName = "Doe";
        });
        </script>
    </body>
    </html>
    
    <!-- 应用解析:
    AngularJS 应用程序由 ng-app 定义。应用程序在 <div> 内运行。
    ng-controller="myCtrl" 属性是一个 AngularJS 指令。用于定义一个控制器。
    控制器是 JavaScript 对象,由标准的 JavaScript 对象的构造函数 创建。
    →myCtrl 函数是一个 JavaScript 函数。
    AngularJS 使用$scope 对象来调用控制器。
    在 AngularJS 中, $scope 是一个应用象(属于应用变量和函数)。
    控制器的 $scope (相当于作用域、控制范围)用来保存AngularJS Model(模型)的对象。
    控制器在作用域中创建了两个属性 (firstName 和 lastName)。
    ng-model 指令绑定输入域到控制器的属性(firstName 和 lastName) -->
    View Code

    控制器方法

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="myCtrl">
    
        名: <input type="text" ng-model="firstName"><br>
        姓: <input type="text" ng-model="lastName"><br>
        <br>
        姓名: {{fullname()}}
        
    
        </div>
    
        <script>
        var app = angular.module('myApp', []);
        app.controller('myCtrl', function($scope) {
            $scope.firstName = "John";
            $scope.lastName = "Doe";
            $scope.fullname = function() {
                return   $scope.firstName + " " + $scope.lastName
            };
        });
        </script>
    </body>
    </html>
    
    <!-- 应用解析:
    {{fullname()}}  not {{fullname}} -->
    View Code

    外部文件中的控制器

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="lose">
            <ul>
                <li ng-repeat="x in names">{{x.name + " comes from " +x.country}}</li>
            </ul>
        </div>
    
        <script src="xx.js"></script>
    </body>
    </html>
    
    <!-- Totally wrong!!!   :  
    angular.module('myApp', function($scope) 
    angular.module('myApp',[]).controller('lose', function($scope)  -->
    
    //xx.js
    angular.module('myApp',[]).controller('lose', function($scope) {
        $scope.names = [
            {name:'Jessy', country:'Norway'},
            {name:'Nancy', country:'Sweden'},
            {name:'Delby', country:'Denmark'},
        ];
    });
    View Code

    大小写/货币

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="lose">
            {{name | lowercase}}
        </div>
        <script src="xx.js"></script>
    </body>
    </html>
    
    <!-- {{name | uppercase}} 
    {{name | lowercase}}
    <p>总价={{quantity * price | currency}}</p>-->
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="lose">
            数量:<input type="number" ng-model="quantity">
            价格:<input type="number" ng-model="price">
            <p>总价={{quantity * price | currency}}</p>
        </div>
        
        <script>
            angular.module('myApp',[]).controller('lose', function($scope) {
                $scope.quantity = 1;
                $scope.price = 9.99;
            });
        </script>
    </body>
    </html>
    View Code

    指令中添加过滤器  排序

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="lose">
            <ul>
                <li ng-repeat="x in names | orderBy: 'country'">{{x.name + " , " + x.country}}</li>
            </ul>
        </div>
        <script src='xx.js'></script>
    </body>
    </html>
    
    
    <!-- not this:{{x.name | orderBy: 'country'}} 
    right like this:<li ng-repeat="x in names | orderBy: 'country'">-->
    
    //xx.js
    angular.module('myApp',[]).controller('lose', function($scope) {
        $scope.names = [
            {name:'Jessy', country:'Norway'},
            {name:'Nancy', country:'Sweden'},
            {name:'Delby', country:'Denmark'}
        ];
    });
    View Code

    过滤输入

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="lose">
            输入过滤:<input type="text" ng-model="test">
            <ul>
                <li ng-repeat="x in names | filter:  test | orderBy: 'country'">{{x.name + " , " + x.country}}</li>
            </ul>
        </div>
        <script src='xx.js'></script>
    </body>
    </html>
    
    
    <!-- not this:filter:  'test'
    right like this:filter:  test-->
    View Code

    Demo5:服务
    服务(Service)是一个函数或对象,可在你的 AngularJS 应用中使用。
    AngularJS 内建了30 多个服务。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="lose">
            <p>当前页面的url:</p>
            <h3>{{myUrl}}</h3>
            <p>使用$location服务获取当前页面的URL</p>
        </div>
        <script>
            angular.module('myApp', []).controller('lose', function($scope, $location) {
                $scope.myUrl = $location.absUrl();
            })
        </script>
    </body>
    </html>
    View Code

     http interval服务

    $http 是 AngularJS 应用中最常用的服务。服务向服务器发送请求,应用响应服务器传送过来的数据。
    AngularJS 会一直监控应用,处理事件变化, AngularJS 使用 $location 服务比使用 window.location 对象更好。
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="lose">
            <p>欢迎信息:</p>
            <h3>{{myWelcome}}</h3>
            <p>$http服务向服务器请求信息</p>
        </div>
        <script>
            angular.module('myApp', []).controller('lose', function($scope, $http) {
                
                $http.get('welcome.htm').then(function (response) {
                    $scope.myWelcome = response.data;
                });
    
            })
        </script>
    </body>
    </html>
    
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="lose">
            <p>欢迎信息:</p>
            <h3>{{theTime}}</h3>
            <p>$http服务向服务器请求信息</p>
        </div>
        <script>
            angular.module('myApp', []).controller('lose', function($scope, $interval) {
                
                $scope.theTime = new Date().toLocaleTimeString();
                $interval( function() {
                    $scope.theTime = new Date().toLocaleTimeString();
                }, 1000);
            })
        </script>
    </body>
    </html>
    View Code

    自定义服务/使用自定义服务自定义过滤

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="lose">
            <p>自定义服务:</p>
            <h3>{{hex}}</h3>
        </div>
        <script>
            var app = angular.module('myApp', []);
            app.service('hexafy', function(){
                this.myFunc = function(x){
                    return x.toString(16);
                }
            });
            app.controller('lose', function($scope, hexafy) {
                $scope.hex = hexafy.myFunc(225);
            });
        </script>
    </body>
    </html>
    
    <!-- wrong: var myFunc = function(x){return x.toString(16);}   right: this.myFunc -->
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" >
            <p>自定义过滤:</p>
            <h3>{{255 | myFormat}}</h3>
        </div>
        <script>
            var app = angular.module('myApp', []);
    
            app.service('hexafy', function(){
                this.myFunc = function(x){
                    return x.toString(16);
                }
            });
            app.filter('myFormat', ['hexafy', function(hexafy) {
                return function(x) {
                    return hexafy.myFunc(x);
                }
            }]);
        </script>
    </body>
    </html>
    
    <!-- app.filter('sd',function(){})  :   app.filter('sd',['servc',function(){}])
    anonymous function apply
    <div ng-app="myApp" ng-controller="lose"> 用不到的控制器,不能放里面会报错-->
    View Code

    Demo6:select 

    这里起没有仔细的做——

    ng-options 创建选择框

    用ng-repeat 指令来创建下拉列表

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="myCtrl">
            <select ng-model="selectNames" ng-options="x for x in names"="x in names"></select> 
            <p>ng-options</p>
    
            <select>
                <option ng-repeat="x in names">{{x}}</option>
            </select>
            <p>ng-repeat 指令</p>
    
            <p>数组做对象</p>
            <select ng-model="selectedSite">
                <option  ng-repeat="x in sites" value="{{x.url}}">{{x.site}}</option>
            </select>
            <select ng-model="selectedSite" ng-options="y.site for y in sites"></select>
            <h1>你选择的是:{{selectedSite}}</h1>
    
            <p>数据源做对象</p>
            <select ng-model="selected" ng-options="x for (x, y) in siteWeb"></select><br><br>
    
            <select ng-model="selectedCars" ng-options="x for (x, y) in cars"></select>
            <h1>你选择的是: {{selectedCars.brand}}</h1>
            <h2>模型:{{selectedCars.model}}</h2>
            <h3>颜色:{{selectedCars.color}}</h3>
    
            <select ng-model="selecteCars" ng-options="y.brand for (x, y) in cars"></select>
            <h1>你选择的是: {{selecteCars.brand}}</h1>
            <h2>模型:{{selecteCars.model}}</h2>
            <h3>颜色:{{selecteCars.color}}</h3>
        </div>
        <script>
            var app = angular.module('myApp', []);
            app.controller('myCtrl', function($scope) {
                $scope.names = ['tab', 'ctrl', 'shift'];
                $scope.sites = [
                    {site: "baidu", url:"http://www.baidu.com"},
                    {site: "runoob", url:"http://www.runoob.com"},
                    {site: "cnblogs", url:"http://www.cnblogs.com/"}
                ];
                $scope.siteWeb = {
                    site01: 'Google',
                    site02: 'baidu',
                    site03: 'cnblogs',
                };
                $scope.cars = {
                    car01: {brand: 'Ford', model: 'Mustang', color: 'red'},
                    car02: {brand: 'Flat', model: '500', color: 'blue'},
                    car03: {brand: 'Volvo', model: 'XC', color: 'black'},
                };
            });
        </script>
    </body>
    </html>
    View Code

    Demo7:table

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
        <style>
            table, th , td  {
                border: 1px solid grey;
                border-collapse: collapse;
                padding: 5px;
            }
            table tr:nth-child(odd) {
                background-color: #f1f1f1;
            }
            table tr:nth-child(even) {
                background-color: #ffffff;
            }
        </style>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="myCtrl">
            <table>
                <tr ng-repeat="x in names | orderBy: 'country'">
                    <td>{{$index + 1}}</td>
                    <td>{{x.name}}</td>
                    <td>{{x.country | uppercase}}</td>
                </tr>
            </table>
        </div>
        <script>
        var app = angular.module('myApp', []);
        app.controller('myCtrl', function($scope, $http) {
            $http.get("Customers_JSON.php").sunccess(function(response) {
                $scope.names = response.records;
            });
        });
        </script>
    </body>
    </html>
    View Code

    Demo8:显示隐藏

    ng-disabled ng-show

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="" ng-init="mySwitch=true">
            <p><button ng-disabled="mySwitch">点我</button></p>
            <p><input type="checkbox" ng-model="mySwitch">按钮</p>
            {{mySwitch}}
    
            <br>
            <br>
    
            <p ng-show='true'>我是可见的。</p>
            <p ng-show='false'>我是不可见的。</p>
            <p ng-show='13 > 12'>我是可见的。</p>
    
            <br>
            <br>
            <p ng-hide='true'>我是不可见的。</p>
            <p ng-hide='false'>我是可见的。</p>
            
    
        </div>
    </body>
    </html>
    
    <!-- ng-disabled 指令直接绑定应用程序数据到 HTML 的 disabled 属性。
    ng-disable="mySwitch" : ng-disabled="mySwitch"
    ng-init="mySwitch=true"-->
    View Code

    Demo9:事件

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="myCtrl">
            <p><button ng-click='toggle()'>显示/隐藏</button></p>
    
            <p><button ng-click="count = count + 1">点我!</button></p>
            <p ng-hide='myVar'>{{count}}</p>
        </div>
    
        <script>
            var app = angular.module('myApp', []);
            app.controller('myCtrl', function($scope) {
                $scope.count = 0;
                $scope.myVar = false;
                $scope.toggle = function(){
                    $scope.myVar = !$scope.myVar;
                }
            });
        </script>
    </body>
    </html>
    View Code

    Demo10:模块

    模块定义了一个应用程序
    模块时应用程序中不同部分的容器
    模块是应用控制器的容器
    控制器通常属于一个模块

    指令构造器

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> 
    </head>
    <body>
    
    <div ng-app="myApp" runoob-directive></div>
    
    <script>
    
    var app = angular.module("myApp", []);
    
    app.directive("runoobDirective", function() {
        return {
            template : "我在指令构造器中创建!"
        };
    });
    </script>
    
    </body>
    </html>
    View Code

    模块和控制器分别在js文件中

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <div ng-app="myApp" ng-controller="myCtrl">
            <p>{{firstName + " " + lastName}}</p>
        </div>
    
        <script src="myApp.js"></script>
        <script src="myCtrl.js"></script>
    </body>
    </html>
    
    //myApp.js
    var app = angular.module('myApp', []);
    //myCtrl.js
    app.controller('myCtrl', function($scope) {
        $scope.firstName = 'Miao';
        $scope.lastName = 'Tab';
    });
    View Code

    Demo11:表单

    HTML 表单通常与 HTML 控件(input select button textarea )同时存在。

    ng-app="myApp"

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
    
        <div ng-app="myApp" ng-controller="formCtrl">
            <form novalidate>
                First Name: <br>
                <input type="text" ng-model="user.firstName"><br>
                Last Name: <br>
                <input type="text" ng-model="user.lastName"><br><br>
    
                <button ng-click="reset()">RESET</button>
            </form>
            <p>form={{user}}</p>
            <p>form={{master}}</p>
        </div>
    
        <script>
            var app = angular.module('myApp', []);
            app.controller('formCtrl', function($scope) {
                $scope.master = {firstName: "John", lastName: "Doe"};
                $scope.reset = function() {
                    $scope.user = angular.copy($scope.master);
                };
                $scope.reset();
            });
        </script>
    </body>
    </html>
    View Code

    Demo12:输入验证

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    </head>
    <body>
        <h2>验证实例</h2>
        <form  name='myForm' ng-app="myApp" ng-controller="myCtrl" novalidate>
            <p>用户名:<br>
            <input type="text" name='user' ng-model="user" required>
            <span style="color:red" ng-show='myForm.user.$dirty && myFrom.user.$invalid'>
            <span ng-show='myForm.user.$error.required'>用户名是必须的</span>
            </span>
            </p>
    
            <p>邮箱:<br>
            <input type="email"邮箱验证:<input type="email"> 而不是text name='email' ng-model="email" required>
            <span style="color:red" ng-show='myForm.email.$dirty && myForm.email.$invalid'>
            <span ng-show='myForm.email.$error.required'>邮箱是必须的</span>
            <span ng-show='myForm.email.$error.email'>非法的邮箱地址</span>
            </span>
            </p>
    
            <p>
                <input type="submit" ng-disabled="myForm.user.$dirty && myFrom.user.$invalid && myForm.email.$dirty && myForm.email.$invalid ">
            </p>
        </form>
    
        <script >
            var app = angular.module('myApp', []);
            app.controller('myCtrl', function($scope) {
                $scope.user = 'Daug';
                $scope.email = 'john.doe@gmail.';
            });
        </script>
    </body>
    </html>
    
    <!-- 校验:span[dirty invalid]>span[required]+span[email]
    邮箱验证:<input type="email"> 而不是text -->
    View Code

    http://www.runoob.com/angularjs/angularjs-validation.html

  • 相关阅读:
    asp.net2.0系列视频教程
    Android入门教程(三十一)SQLite分页读取(转)
    sql语句大全
    判断是不是ie浏览器 加上ie11
    字节面试题
    泛型
    线程和
    sysbench工具
    自定义集合类
    类型通配符
  • 原文地址:https://www.cnblogs.com/tabCtrlShift/p/5620369.html
Copyright © 2020-2023  润新知