zoukankan      html  css  js  c++  java
  • 【AngularJS】—— 1 初识AngularJs

     

      怀着激动与忐忑的心情,开始了学习AngularJS的旅程,很久之前就听说了这个前端框架,但是由于自己一直没有从事相关的工作,因此也没有进行学习。这次正好学习AngularJS,直接复习一下前端的知识。目前这里还是弱点,慢慢深入的学习。

      AngularJS是Google的优秀的前端框架,目前已经应用于多个产品。

      通过w3cschool.cc的学习,简单的了解了下它的使用方法,但是对于原理还没有理解。

      

      AngularJs相对于其他的框架来说,有一下的特性:

      1 MVVM

      2 模块化

      3 自动化双向数据绑定

      4 语义化标签

      5 依赖注入

      由于很多概念都不了解,这些特性也无法理解。以后会通过学习,慢慢深入研究。

      

      通过简单的学习,大致了解了AngularJS的语法以及使用,包括如下的内容:

      1 表达式

      支持普通的JS表达式,表达式通过{{}}使用。

    <div ng-app="">
      <p>我的第一个表达式: {{ 5 + 5 }}</p>
    </div>

      2 指令

      通过特定的标签指定,完成数据的绑定以及定义,抓取

    <div ng-app="" ng-init="firstName='John'">
      <p>在输入框中尝试输入:</p>
      <p>姓名:<input type="text" ng-model="firstName"></p>
      <p>你输入的为: {{ firstName }}</p>
    </div>

      ng-app 定义AngularJS的应用程序

      ng-init 初始化应用程序变量

      ng-model 获取程序变量

      ng-bind 绑定数据变量

      3 控制器

      通过控制器,控制应用程序。通过构造函数,完成方法以及变量的创建。

      其中personController相当于构造方法函数,参数$scope代替指定的元素标签。

    <div ng-app="" ng-controller="personController">
    
    名: <input type="text" ng-model="person.firstName"><br>
    姓: <input type="text" ng-model="person.lastName"><br>
    <br>
    姓名: {{person.firstName + " " + person.lastName}}
    
    </div>
    
    <script>
    function personController($scope) {
        $scope.person = {
            firstName: "John",
            lastName: "Doe"
        };
    }
    </script>

      4 过滤器

      通过过滤器,完成特定的排序或者过滤,大小写转换等等。

      currency   数字转化成货币格式

    <div ng-app="" ng-controller="costController">
    数量:<input type="number" ng-model="quantity">
    价格:<input type="number" ng-model="price">
    <p>总价 = {{ (quantity * price) | currency }}</p>
    </div>

      filter  从数据项中选定一个子集

    <div ng-app="" ng-controller="namesController">
    <p>输入过滤:</p>
    <p><input type="text" ng-model="name"></p>
    
    <ul>
      <li ng-repeat="x in names | filter:name | orderBy:'country'">
        {{ (x.name | uppercase) + ', ' + x.country }}
      </li>
    </ul>
    
    </div>

      orderBy  排序

    <div ng-app="" ng-controller="namesController">
    <p>循环对象:</p>
    <ul>
      <li ng-repeat="x in names | orderBy:'country'">
        {{ x.name + ', ' + x.country }}
      </li>
    </ul>
    <div>

      lowercase uppercase  大小写转换

    <div ng-app="" ng-controller="personController">
    <p>姓名为 {{ person.lastName | uppercase }}</p>
    </div>

      

      5 http

      通过http获取指定的文件内容

    <div ng-app="" ng-controller="customersController"> 
    <ul>
      <li ng-repeat="x in names">
        {{ x.Name + ', ' + x.Country }}
      </li>
    </ul>
    </div>
    
    <script>
    function customersController($scope,$http) {   $http.get("http://www.w3cschool.cc/try/angularjs/data/Customers_JSON.php")
        .success(function(response) {$scope.names = response;});
    }
    </script>

      6 表格

      通过ng-repeat实现表格展现

    <div ng-app="" ng-controller="customersController"> 
    
    <table>
      <tr ng-repeat="x in names">
        <td>{{ x.Name }}</td>
        <td>{{ x.Country }}</td>
      </tr>
    </table>
    
    </div>

      7 html dom

      通过DOM元素的属性,控制节点。例如:ng-disabled  ng-show

    <div ng-app="">
    
    <p>
    <button ng-disabled="mySwitch">点我!</button>
    </p>
    
    <p>
    <input type="checkbox" ng-model="mySwitch">按钮
    </p>
    
    </div>

      

      以上就是简单的学习内容,明天计划学习下w3cshcool.cc的后续内容

  • 相关阅读:
    JavaScript Patterns and Good Parts
    [Buzz Today]2012.05.015
    The first glance at Python
    The first glance at JavaScript
    [Buzz Today]2012.05.06
    vs.net2008 下 带完善后台管理的flash+js 轮显广告
    Vs.net2008 下 Ajaxpro 使用
    允许asp上传大文件的设置
    使用AutocompleteExtender无效或者没反应,输入啥都在webservice里面跟踪不到
    C#精髓 GridView 72般绝技
  • 原文地址:https://www.cnblogs.com/feng18/p/5137124.html
Copyright © 2011-2022 走看看