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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...