野獸的Angular Api 學習、翻譯及理解 - - ngList、ngRepeat、ngModelOptions

來源:互聯網
上載者:User

標籤:

野獸的 ng api 學習 - - ngList、ngRepeat、ngModelOptions

 

ngList

在文本輸入的分隔的字串和字串數組間做轉換,可以是一個固定的字串分隔符號(預設逗號)或Regex。

格式:ng-list=”value”

value:運算式  通過這個值分隔字串。

使用代碼:

<div ng-app="Demo">

    <div ng-controller="demoCtrl">

       <input ng-model="list" ng-list=".">

        {{list}}

    </div>

</div>

<script>

    angular.module("Demo", [])

    .controller("demoCtrl", ["$scope", function ($scope) {

        $scope.list = ["a", "b", "c"];

    }])

</script>

在運行完上面的使用代碼後,你會發現,用ng做添加tags標籤將會變的異常的簡便,你只需要在input上綁個ngList,然後按你指定的分隔規則輸入tags即可,在js裡對應的model就將會獲得這一串數組(比如<input ng-list=“-” ng-model="list" />,那麼你在input裡輸入"q-w-e-r-t-y-u",在js裡對應的$scope.list就會是

["q","w","e","r","t","y","u"])。

 

ngRepeat

該指令為集合中的每項都執行個體化一個模組。每個模組都有自己的scope,給定的迴圈變數將被設定為當前項,$index是他們的索引。

格式:ng-repeat=“value”

value:被迴圈的數組。

$index:當前索引。

$first:迴圈數組的第一項。

$middle:$first和$last之間的中間項。

$last:迴圈數組的最後一項。

$even:迴圈數組的偶數項。

$odd:迴圈數組的奇數項。

使用代碼:

    <div ng-app="Demo">

        <div ng-controller="demoCtrl">

            <ol>

                <li ng-repeat="i in list">{{i}}</li>

            </ol>

        </div>

    </div>

    <script>

        angular.module("Demo", [])

        .controller("demoCtrl", ["$scope", function ($scope) {

            $scope.list = ["a","b","c"];

        }])

</script>

使用小技巧 :

track by   去除重複

ngRepeatStart和ngRepeatEnd 進行一塊地區迴圈。

用過jquery的小夥伴自從用上了ngRepeat,會覺得好爽,再也不用迴圈一個數組然後給DOM append HTML字串或者html()一大串拼接的HTML字串去產生列表了。ngRepeat會根據數組去迴圈產生對應的DOM列表。不過需要注意的是,ngRepeat會建立了一個子scope,它使用原型繼承的方式從父級繼承下來。

 

ngModelOptions

該指令允許調整如何讓模型更新完畢。你可以使用這個指令去指定一系列哪些將會觸發模型更新的事件/或者一個消除抖動的延遲,使實際的更新只發生在定時器到期的時候。在另一個變化發生後,定時器將會重設。

格式:

ng-model-options=”{updateOn:’default blur’,debounce:{‘default’:500,’blur’:0}}”

updateOn: 指定事件應該是輸入的字串。你可以使用一個空格分隔的列表設定若干事件。有一個特殊的事件稱為預設匹配的控制的預設事件。

debounce: 一個規定多久模型執行更新的整數值。值為0的則觸發即時更新。如果提供了一個對象,你可以為每個事件指定一個值。

使用代碼:

<input ng-model="text" ng-model-options="{updateOn:‘default blur‘,debounce:{‘default‘:3000,‘blur‘:5000}}" />

這個指令可以用在輸入延時搜尋的input中,就比如:做一個搜尋方塊,使用者輸入的時候不進行搜尋,當使用者停止輸入後N秒,再執行搜尋,這樣保證了不會輸入變化的時候及時的去請求(這樣會造成頁面大量的XMLHttpRequest請求),但又實現了不用點擊搜尋按鈕可自動執行搜尋。當然,這個指令用在別的地方也是實用性很強的。

今天先扯到這,洗洗睡去了

 

野獸的Angular Api 學習、翻譯及理解 - - ngList、ngRepeat、ngModelOptions

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.