Angularjs基礎(二)

来源:http://www.cnblogs.com/nmxs/archive/2016/04/17/5401256.html
-Advertisement-
Play Games

AngularJS 表達式 AngularJS 表達式寫在雙大括弧內:{{expression}} AngularJS 表達式把數據綁定到HTML,這與ng-bind 指令有異曲同工之妙 AngularJS 將在表達式書寫的位置輸出數據。 AngularJS 表達式很像JavaScript表達式:他 ...


AngularJS 表達式
  AngularJS 表達式寫在雙大括弧內:{{expression}}
  AngularJS 表達式把數據綁定到HTML,這與ng-bind 指令有異曲同工之妙
  AngularJS 將在表達式書寫的位置輸出數據。
  AngularJS 表達式很像JavaScript表達式:他們可以包含文字,運算符和變數。
    實例{{5+5}} 或者{{firstName + "" +lastName}}

AngularJs 數字
  AngularJS 數字就像JavaScript 數字:
    實例:
      <div ng-app="" ng-init="quantity=1;cost=5">
        <p>總價:{{quantity * cost}}</p>
      </div>
    使用 ng-bind 的相同實例:
      <div ng-app="" ng-init="quantity=1;cost=5">
          <p>總價:<span ng-bind="quantity * cost"></span></p>
      </div>
  使用 ng-init 不是很常見。您將在控制器一章中學習到一個更好的初始化數據的方式。

AngularJS 字元串
  Angular字元串就像JavaScript字元串:
    實例:
      <div ng-app"" ng-init="firstName='John';lastName='Doe'">
          <p>姓名:{{firsName +""+lastName}}</p>
      </div>
    使用ng-bind的相同實例
      <div ng-app="" ng-init="firstName='John';lastName='Doe'">
          <p>姓名:<span ng-bind="firstName +' '+lastName"></span></p>
      </div>

AngularJs對象
   AngularJs對象就像javaScript 對象
      實例:
        <div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}">
            <p>姓為{{person.lastName}}</p>
        </div>
      使用ng-bind的相同實例
         <div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}">
            <p>姓為<span ng-bind="person.lastName"></span></p>
          </div>

AngularJs數組
    AngularJs數組就像JavaScript數組:
      實例:
        <div ng-app="" ng-init="points=[1,15,19,2,40]">
            <p>第三個值為{{points[2]}}</p>
        </div>
    使用ng-bind的相同實例
        <div ng-app="" ng-init="points=[1,15,19,2,40]">
          <p>第三個值為<span ng-bind="points[2]"></span></p>
        </div>
    AngularJs 表達式 與JavaScript表達式
      類似於javaScript 表達式,AngularJS表達式可以包含字母,操作符,變數。
      與JavaScript表達式不同,AngularJs表達式可以寫在HTML中,表達式不支持判斷條件,迴圈及異常
      表達式不支持過濾器。

AngularJS指令
    AngularJS通過被稱為指令的新屬性來擴展HTML,帶有首碼 ng-。
    AngularJs通過內置的指令來為應用添加功能,ng-app 指令初始化一個 AngularJS 應用程式.
    AngularJs允許你自定義指令。
    ng-init指令初始化應用程式數據。
    ng-model指令把元素值(比如輸入域的值)綁定到應用程式
      實例:
          <div ng-app="" ng-init="firstName='John'">
            <p>在輸入框中常識輸入:</p>
            <p>姓名:<input type="text" ng-model="firstName"></p>
            <p>你輸入的為:{{firstName}}</p>
          </div>
    ng-app 指令告訴AngularJS<div>元素是AngularJS 應用程式的擁有者。
    一個網頁可以包含多個運行在不同元素中的 AngularJS 應用程式。

數據綁定
    上面實例中的{{firstName}}表達式是一個AngularJS數據的綁定的表達式。
    AngularJS中的數據綁定,同步了AngularJS表達式月AngularJS數據
      {{firstName}} 是通過ng-model="firstNmae"進行同步。
    在下一個實例中,兩個文本域是通過兩個ng-model指令同步的。
      實例:
          <div ng-app="" ng-init="quantity=1; price=5">
              <h2>價格計算器</h2>
              數量:<input type="number" ng-model="quantity">
              價格:<input type="number" ng-model="price">
              <p><b>總價:</b>{{quantity * price}}</p>
          </div>

重覆HTML元素
    ng-repeat指令會重覆一個HTML
      實例:
        <div ng-app="" ng-init="names=['Jani','Hege','Kai']">
            <p>使用ng-repeat 來迴圈數組</p>
            <ul>
              <li ng-repeat="x in name">
                  {{X}}
              </li>
          </ul>
        </div>
    ng-repeat 指令用在一個對象數組上
        實例:
          <div ng-app="" ng-init="names=[{name:'Jani',country:'Norway'},
              {name:'Hege',country:'Sweden'},
              {name:'Kai',country:'Denmark'}]">
                <p>迴圈對象:</p>
                <ul>
                    <li ng-repeat="x in name">
                      {{x.name + ',' + x.country}}
                    </li>
                </ul>
          </div>

ng-app 指令
      ng-app指令定義了AngularJS 應用程式的 根元素。
      ng-app 指令在網頁載入完畢時會自動引導(自動初始化)應用程式
ng-init 指令
      ng-init指令為AngularJS 應用程式定義了初始值。
      通常情況下,不適用ng-init,您將使用一個控制器或模塊來代替她。
ng-model指令
      ng-model指令綁定HTML元素到應用程式。
      ng-model 指令也可以
      為應用程式數據提供類型驗證(number,email, required).
      為應用程式數據提供狀態(invalid,dirty,touched,error)
      為HTML 元素提供CSS 類
      綁定到HTML元素到HTML表單

ng-repeat 指令
    ng-repeat指令對於集合中(數組中)的每個項會克隆一次HTML元素

創建自定義的指令
    除了AngularJS內置的指令外,我們還可以創建自定義指令。
    你可以使用.directive函數來添加自定義的指令。
    要調用自定義指令,HTML元素張需添加自定義指令名。
    使用駝峰命名法來命名一個指令,runoobDirective,但在使用它時需要以-分割,runoob-directive
      實例:
        <body ng-app="myApp">
            <runoob-directive></runoob-directive>
            <script>
                var app = angular.module("myApp",[])l
                app.directive("runoobDirective",function(){
                return{
                    template:"<h1>自定義指令!</h1>"
                };
              })
            </script>
        </body>
    可以通過以下方式來調用指令:
        元素名:<runoob-directive></runoob-directive>
        屬性:<div runoob-directive></div>
        類名:<div class="runoob-directive"></div>
        註釋:<!-- 指令: runoob-directive-->

限制使用
    你可以限制你的指令只能通過特定的方式來調用。
      實例:
        通過添加 restrict 屬性,並設置只值為 "A", 來設置指令只能通過屬性的方式來調用:
        var app = angular.module("myApp",[]);
        app.directive("runoobDirective",function(){
        return{
            restrict:"A",
            template:"<h1>自定義</h1>"
          }
      })
      restrict 值可以是以下幾種
        E只限元素名使用
        A只限屬性使用
        C只限類名使用
        M只限屬實使用


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. jQuery入門 1.1. 優點 解決瀏覽器的相容性問題。 支持擴展,通過插件方式實現擴展,避免特性蠕變。 使用隱式迭代的技術,使方法的操作面向集合。如“.hide()” 使用方法鏈接編程方式,使多重操作集於一行。 強大的選擇符。 可靠的事件處理機制。 完善的Ajax。 行為層與結構層的分離。 ...
  • 字元x 字元 x\\ 反斜線字元\0n 帶有八進位值 0 的字元 n (0 <= n <= 7)\0nn 帶有八進位值 0 的字元 nn (0 <= n <= 7)\0mnn 帶有八進位值 0 的字元 mnn(0 <= m <= 3、0 <= n <= 7)\xhh 帶有十六進位值 0x 的字元 h ...
  • 對IE瀏覽器尤其是IE6的抱怨基本已進入麻痹狀態,偶爾甚至產生非常消極的想法:這個世界只有一個瀏覽器就好了,哪怕這唯一的瀏覽器就是IE6。當然,這樣的想法是非常病態的,馬上打消。本文裡面,介紹了10個很實但IE卻不支持的CSS屬性,列出這些屬性並不是為了數落IE(數落也沒用),而是你瞭解了哪些CSS ...
  • 數據綁定是在應用程式 UI 與數據源建立連接的過程。如果綁定正確數據,則當數據更改其值時,綁定到數據的UI屬性值會自動反映更改。DeviceOne支持靈活的數據綁定,使UI展示和數據可以清晰的分離。目前還不支持雙向綁定,只支持數據到展示的傳遞。使用DeviceOne開發App,你可以不使用任何數據b ...
  • 幾個知識點: HTML 指的是超文本標記語言 (Hyper Text Markup Language) HTML框架結構: <!DOCTYPE html> <html> <head> </head> <body> 此處為標簽內容 </body> </html> HTML屬性: class=“XXX” ...
  • 一、引言 之前這個系列文章已經介紹Bootstrap。由於最近項目中,前端是Asp.net MVC + KnockoutJs + Bootstrap來做的。所以我又重新開始寫這個系列。今天就讓我們來看看Web前端的MVVM框架——KnockoutJs。 二、KnockoutJs是什麼? 做.NET開 ...
  • 由於我所在的項目組一直在用gulp構建工具,而我只是在前人搭好的環境下每次運行gulp packJs來打包js,對裡面的東西全然不知,剛好最近有些時間就想自己從學學將gulp怎麼用於構建前端項目中,這樣也會對這個構建工具有一些深刻的理解。 首先,gulp是什麼?gulp是基於nodejs的自動任務運 ...
  • React是什麼?React.js 是 Facebook 推出的一個用來構建用戶界面的 JavaScript 庫。Facebook開源了React,這是該公司用於構建反應式圖形界面的JavaScript庫,已經應用於構建Instagram網站及 Facebook部分網站。最近出現了AngularJS ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...