zoukankan      html  css  js  c++  java
  • angularJS

    AngularJS 是一个 JavaScript 框架

    AngularJS 是一个 JavaScript 框架。它是一个以 JavaScript 编写的库。

    AngularJS 是以一个 JavaScript 文件形式发布的,引入方式如下:

    <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
    

    基本指令

    ng-app 指令定义一个 AngularJS 应用程序。

    ng-controller 指令区分模块域。

    ng-model 指令把元素值(比如输入域的值)绑定到应用程序。

    ng-bind 指令把应用程序数据绑定到 HTML 视图。

    ng-show/hide/if 指令数据显示或隐藏。

    ng-checked 指令选中元素

    ng-submit 表单提交绑定方法

    ng-disabled 验证数据点击次数 ng-disabled="form[name].$invalid"

    ng-repeat 循环指令 ng-repeat="item in arr" 里面含有三个属性:$index(下标索引),$first(对象的第一个子对象),$last(对象的最后一个子对象)

     1 <body ng-app="app" style="padding:10px">
     2     <div ng-controller="form">
     3         <form name="forms" ng-submit="register()">
     4             <fieldset>
     5                 <legend>基本信息</legend>
     6                 <img ng-class="{'img':user.imgClass}" ng-show="{{user.imgShow}}" ng-src="{{user.url}}">
     7                 <div style="padding:10px 20px">
     8                     <input class="form-control" type="text" placeholder="用户名" required /></br>
     9                     <input class="form-control" type="password" placeholder="密码" required />
    10                     职位:<select class="form-control">
    11                         <option>---select-</option>
    12                         <option ng-selected="user.zw==1">web</option>
    13                         <option ng-selected="user.zw==2">android</option>
    14                     </select>
    15                     性别:<input ng-checked="user.sex==1" type="radio" name="sex" value="男">
    16                     <input  ng-checked="user.sex==2" type="radio" name="sex" value="女">
    17                 </div>
    18             </fieldset>
    19             <fieldset>
    20                 <legend>爱好</legend>
    21                 <div style="padding:10px 20px">
    22                     <input type="checkbox" ng-checked="choice(1)"/>&nbsp;&nbsp;篮球&nbsp;&nbsp;
    23                     <input type="checkbox" ng-checked="choice(2)"/>&nbsp;&nbsp;排球&nbsp;&nbsp;
    24                 </div>
    25             </fieldset>
    26             <button ng-disabled="forms.$invalid" type="submit" class="button expand" style="display:block;margin:0 auto">submit</button>
    27         </form>
    28     </div>
    29     <script type="text/javascript" src="js/angular.js"></script>
    30     <script type="text/javascript" src="js/controller.js"></script>
    31 </body>
     1 angular.module('app',[])
     2 .controller('Task1',function($scope){
     3     $scope.task="";
     4     $scope.tasks=[];
     5     $scope.add=function(){
     6         $scope.tasks.push($scope.task);
     7     }
     8 })
     9 .controller('Task2',function($scope){
    10     $scope.task="";
    11     $scope.tasks=[];
    12     $scope.add=function(){
    13         $scope.tasks.push($scope.task);
    14     }
    15 })
    16 .controller('loginmodel',function($scope){
    17     $scope.user={name:'',pwd:''};
    18     $scope.errmsg="";
    19     $scope.logining = function(){
    20         if($scope.user.name == "admin" && $scope.user.pwd == "123"){
    21             alert("success");
    22         }else{
    23             $scope.errmsg = "username or userpassword err!";
    24         }
    25     }
    26 
    27 })
    28 .value('valued','xujiangli')//可以改变其值
    29 .constant('constant',"http://www.baidu.com")
    30 .factory('data',function(){
    31     return {
    32         msg:'are you ok!',
    33         msgFun:function(){
    34             this.msg = 'yes I am fine';
    35         }
    36     }
    37 })
    38 .controller('jinjie',function($scope,valued,constant,data){
    39     $scope.value = valued;
    40     $scope.contant = constant;
    41     $scope.data = data;
    42     data.msgFun=data.msgFun();
    43 })
    44 //form
    45 .controller("form",function($scope){
    46     $scope.user={
    47         url:'img/haohao.png',
    48         imgShow:true,
    49         imgClass:true,
    50         name:'',
    51         pwd:'',
    52         sex:'2',
    53         zw:'1',
    54         perzition:[1,2,3]
    55     };
    56     // checkbox
    57     $scope.choice=function(n){
    58         var se = false;
    59         for (var i = 0; i < $scope.user.perzition.length; i++) {
    60             if(n==$scope.user.perzition[i]){
    61                 se = true;
    62                 break;
    63             }
    64         }
    65         return se;
    66         console.log(n);
    67     };
    68     //form submit
    69     $scope.register=function(){
    70         console.log('submit')
    71     }
    72 
    73 })

    创建自定义的指令

    除了 AngularJS 内置的指令外,我们还可以创建自定义指令。

    你可以使用 .directive 函数来添加自定义的指令。

    要调用自定义指令,HTML 元素上需要添加自定义指令名。

    使用驼峰法来命名一个指令, runoobDirective, 但在使用它时需要以 - 分割, runoob-directive:

     1 <body ng-app="myApp">
     2     <!-- 元素名 -->
     3     <!-- <runoob-directive></runoob-directive> -->
     4     <!-- 你必须设置 restrict 的值为 "M" 才能通过注释来调用指令,我们需要在该实例添加 replace 属性, 否则评论是不可见的。-->
     5     <!-- directive: runoob-directive -->
     6     <!-- 你必须设置 restrict 的值为 "C" 才能通过类名来调用指令-->
     7     <!-- <div class="runoob-directive"></div> -->
     8     <!-- 通过设置 restrict 属性值为 "A" 来设置指令只能通过 HTML 元素的属性来调用-->
     9     <!-- <div runoob-directive></div> -->
    10     <script>
    11         var app = angular.module("myApp", []);
    12         app.directive("runoobDirective", function() {
    13             return {
    14                 restrict : "M",//A/E/C
    15                 replace : true,//注释才用到
    16                 template : "<h1>自定义指令!</h1>"
    17             };
    18         });
    19     </script>
    20 </body>

    根作用域

    所有的应用都有一个 $rootScope,它可以作用在 ng-app 指令包含的所有 HTML 元素中。

    $rootScope 可作用于整个应用中。是各个 controller 中 scope 的桥梁。用 rootscope 定义的值,可以在各个 controller 中使用。

     1 <div ng-app="myApp" ng-controller="myCtrl">
     2 
     3 <h1>姓氏为 {{lastname}} 家族成员:</h1>
     4 
     5 <ul>
     6     <li ng-repeat="x in names">{{x}} {{lastname}}</li>
     7 </ul>
     8 
     9 </div>
    10 
    11 <script>
    12 var app = angular.module('myApp', []);
    13 
    14 app.controller('myCtrl', function($scope, $rootScope) {
    15     $scope.names = ["Emil", "Tobias", "Linus"];
    16     $rootScope.lastname = "Refsnes";
    17 });
    18 </script>
    19 
    20 <p>注意 $rootScope 在循环对象内外都可以访问。</p>

     请求方式

    .controller('customersCtrl', function($scope, $http) {
        // $http.get("http://www.runoob.com/try/angularjs/data/Customers_MySQL.php")
        $http.get("url")
        .success(function (response) {
            console.log(response);
            // $scope.list = response.records;
        });
       
    })

    API函数

    angular.lowercase()//转换字符串为小写

    angular.uppercase()//转换字符串为大写

    angular.isNumber()//判断给定的对象是否为数字,如果是返回 true

    angular.isString()//判断给定的对象是否为字符串,如果是返回 true

      

  • 相关阅读:
    Magento 安装时文件权限 设置
    进度十(10.28)
    进度九(10.27)
    进度八(10.26)
    进度六(10.24)
    进度五(10.23)
    进度四(10.22)
    进度三(10.21)
    进度二(10.20)
    进度一(10.19)
  • 原文地址:https://www.cnblogs.com/xujiangli/p/6044004.html
Copyright © 2011-2022 走看看