zoukankan      html  css  js  c++  java
  • 初识Angular

     AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入,等等。

    官网地址:http://angularjs.org

    中文网站:http://www.apjs.net

    AngularJS是为了克服HTML在构建应用上的不足而设计的。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了。所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事。

    通常,我们是通过以下技术来解决静态网页技术在构建动态应用上的不足:

    类库 - 类库是一些函数的集合,它能帮助你写WEB应用。起主导作用的是你的代码,由你来决定何时使用类库。类库有:jQuery等

    框架 - 框架是一种特殊的、已经实现了的WEB应用,你只需要对它填充具体的业务逻辑。这里框架是起主导作用的,由它来根据具体的应用逻辑来调用你的代码。框架有:knockout、sproutcore等。

    AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷。AngularJS通过使用我们称为标识符(directives)的结构,让浏览器能够识别新的语法。例如:

    使用双大括号{{}}语法进行数据绑定;

    使用DOM控制结构来实现迭代或者隐藏DOM片段;

                                                支持表单和表单的验证;

                                                能将逻辑代码关联到相关的DOM元素上;

                                                能将HTML分组成可重用的组件。

    ng-app 指令初始化一个 AngularJS 应用程序。

    ng-init 指令初始化应用程序数据。

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

     1 <div ng-app="" ng-init="quantity=1;price=5">
     2  
     3 <h2>价格计算器</h2>
     4  
     5 数量: <input type="number"    ng-model="quantity">
     6 价格: <input type="number" ng-model="price">
     7  
     8 <p><b>总价:</b> {{ quantity * price }}</p>
     9  
    10 </div>
    View Code

    $scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带。

    $scope是一个对象,有可用的方法和属性。

    $scope可应用在视图和控制器上。

    ng-controller 指令定义了应用程序控制器。

     1 <div ng-app="myApp" ng-controller="myCtrl">
     2 {{ firstName + " " + lastName }}
     3 </div>
     4 
     5 <script>
     6 
     7 var app = angular.module("myApp", []);
     8 
     9 app.controller("myCtrl", function($scope) {
    10     $scope.firstName = "John";
    11     $scope.lastName = "Doe";
    12 });
    13 
    14 </script>
    View Code

    控制器是 JavaScript 对象,由标准的 JavaScript 对象的构造函数 创建。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>ang</title>
     6 </head>
     7 <body ng-app="myApp"  >
     8 <div id="app">
     9     <input type="text" ng-model="msg" >
    10     
    11 </div>
    12 <h1 ng-bind="data"></h1>
    13 <div ng-controller="myCrl">
    14 <button ng-click="togglePage('first')">1</button>
    15 <button ng-click="togglePage('second')">2</button>
    16 <button ng-click="togglePage('third')">3</button>
    17 <div ng-show="showpage.first" ng-bind='"kd"'></div>
    18 <div ng-show="showpage.second" ng-bind='"la"'></div>
    19 <div ng-show="showpage.third" ng-bind='"pa"'></div>
    20 
    21 <script src="angular.min.js"></script>
    22 <script>
    23     var app = angular.module("myApp", []);
    24     
    25 
    26     app.controller("myCrl", function($scope){
    27         $scope.showpage = {
    28         first: true,
    29         second: false,
    30         third: false
    31         }
    32         
    33         $scope.togglePage = function(page){
    34             for(var i in $scope.showpage){
    35                 $scope.showpage[i]=false;
    36             }
    37             $scope.showpage[page]= true;
    38         }
    39     })
    40 </script>    
    41 </body>
    42 </html>
    View Code

    ng-bind绑定 <p> 内的 innerHTML 到变量 myText:

    1 <div ng-app="" ng-init="myText='Hello World!'">
    2 
    3 <p ng-bind="myText"></p>
    4 
    5 </div>
    View Code

    ng-click 指令定义了 AngularJS 点击事件。

    ng-show

    ng-show指令用于设置应用部分是否可见。

    ng-show="true" 设置 HTML 元素可见。

    ng-show="false" 设置 HTML 元素不可见

    ng-hide

    ng-hide 指令用于设置应用部分是否可见。

    ng-hide="true" 设置 HTML 元素不可见。

    ng-hide="false" 设置 HTML 元素可见。

    你可以通过 AngularJS 的 angular.module 函数来创建模块:

     1 var app = angular.module("myApp", []);
     2     
     3 
     4     app.controller("myCrl", function($scope){
     5         $scope.showpage = {
     6         first: true,
     7         second: false,
     8         third: false
     9         }
    10         
    11         $scope.togglePage = function(page){
    12             for(var i in $scope.showpage){
    13                 $scope.showpage[i]=false;
    14             }
    15             $scope.showpage[page]= true;
    16         }
    17     })
    View Code
    异乡小龟
  • 相关阅读:
    编译原理-词法分析01-扫描程序
    编译原理-概论-02
    编译原理-概论-01
    web api :Action Results in Web API 2
    git 学习笔记7--branch
    git 学习笔记6--remote & log
    杭电acm 1230 火星a+b(进制)
    杭电acm 1214 圆桌会议(冒泡排序)
    杭电acm 1210 Eddy's 洗牌问题
    杭电acm 1207 汉诺塔II
  • 原文地址:https://www.cnblogs.com/scale/p/6160929.html
Copyright © 2011-2022 走看看