angularjs運算式-Expression

來源:互聯網
上載者:User

緊接上節談到再談angularjs DI(Dependency Injection),在這裡介紹關於angularjs的運算式expression。expression指的 是javascript的一小片段代碼,通常用於綁定(binding)例如:{{ expression }}。在angularjs中是通過$parse service解析 。

$parse用法: $parse(expression);

參數:javascript程式碼片段。

傳回值:{function(context, locals)} ,運算式編譯結果:

context:嵌入運算式執行的作用於scope。

locals:本地變數,常用於替換重寫context。

傳回值 同樣帶有assign屬性,允許為運算式賦值。

下面的運算式在angularjs將都是合法的運算式:

1+2

3*10 | currency

user.name

angularjs運算式vs. javascript運算式

angularjs視圖運算式有點像javascript運算式, 但是並不是利用javascript運算式eval()函數解析執行的,與javascript運算式區別如下:

所有屬性都依賴於scope作用 於。並不是javascript的全域作用於window。

運算式計算相容處理null和undefined,而javascript則會拋出 NullPointerExceptions異常。

沒有控制流程程語句,條件,迴圈throw。

過濾器,多餘angularjs運算式計算結果可以通過 過濾器轉化格式,|運算式,如時間,貨幣,數字格式等。

註: 對於angularjs運算式,可以採用$eval()方法解析執行 。

Demo

html:

<!doctype html>    <html ng-app>    <head>    <script src="http://code.angularjs.org/angular-1.0.2.min.js"></script>    <script src="script.js"></script>    </head>    <body>    <center ng-controller="Cntl2" class="expressions">    Expression:     <input type='text' ng-model="expr" size="80"/>    <button ng-click="addExp(expr)">Evaluate</button>    <ul>    <li ng-repeat="expr in exprs">    [ <a href="" ng-click="removeExp($index)">X</a> ]     <tt>{{expr}}</tt> =&gt; <span ng-bind="$parent.$eval(expr)"></span>            </li>            </ul>            </center>            </body>            </html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.