最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

AngularJS入門(mén)教程之過(guò)濾器詳解

 更新時(shí)間:2016年08月19日 10:25:11   作者:速凍沙漠  
本文主要講解AngularJS 過(guò)濾器,這里整理了過(guò)濾器的相關(guān)資料并附示例代碼,幫助大家學(xué)習(xí)AngularJS的知識(shí),有需要的小伙伴可以參考下

在這一步你將學(xué)習(xí)到如何創(chuàng)建自己的顯示過(guò)濾器。

請(qǐng)重置工作目錄:

git checkout -f step-9

現(xiàn)在轉(zhuǎn)到一個(gè)手機(jī)詳細(xì)信息頁(yè)面。在上一步,手機(jī)詳細(xì)頁(yè)面顯示“true”或者“false”來(lái)說(shuō)明某個(gè)手機(jī)是否具有特定的特性?,F(xiàn)在我們使用一個(gè)定制的過(guò)濾器來(lái)把那些文本串圖形化:√作為“true”;以及×作為“false”。來(lái)讓我們看看過(guò)濾器代碼長(zhǎng)什么樣子。

步驟8和步驟9之間最重要的不同在下面列出。你可以在GitHub里看到完整的差別。

定制過(guò)濾器

為了創(chuàng)建一個(gè)新的過(guò)濾器,先創(chuàng)建一個(gè)phonecatFilters模塊,并且將定制的過(guò)濾器注冊(cè)給這個(gè)模塊。

app/js/filters.js

angular.module('phonecatFilters', []).filter('checkmark', function() {
 return function(input) {
  return input ? '\u2713' : '\u2718';
 };
});

我們的過(guò)濾器命名為checkmark。它的輸入要么是true,要么是false,并且我們返回兩個(gè)表示true或false的unicode字符(\u2713和\u2718)。

現(xiàn)在我們的過(guò)濾器準(zhǔn)備好了,我們需要將我們的phonecatFilters模塊作為一個(gè)依賴(lài)注冊(cè)到我們的主模塊phonecat上。

app/js/app/js

...
angular.module('phonecat', ['phonecatFilters']).
...

模板

由于我們的模板代碼寫(xiě)在app/js/filter.js文件中,所以我們需要在布局模板中引入這個(gè)文件。

app/index.html

...
 <script src="js/controllers.js"></script>
 <script src="js/filters.js"></script>
...

在AngularJS模板中使用過(guò)濾器的語(yǔ)法是:

{{ expression | filter }}

我們把過(guò)濾器應(yīng)用到手機(jī)詳細(xì)信息模板中:

app/partials/phone-detail.html

...
  <dl>
   <dt>Infrared</dt>
   <dd>{{phone.connectivity.infrared | checkmark}}</dd>
   <dt>GPS</dt>
   <dd>{{phone.connectivity.gps | checkmark}}</dd>
  </dl>
...

測(cè)試

過(guò)濾器和其他組件一樣,應(yīng)該被測(cè)試,并且這些測(cè)試實(shí)際上很容易完成。

test/unit/filtersSpec.js

describe('filter', function() {

 beforeEach(module('phonecatFilters'));


 describe('checkmark', function() {

  it('should convert boolean values to unicode checkmark or cross',
    inject(function(checkmarkFilter) {
   expect(checkmarkFilter(true)).toBe('\u2713');
   expect(checkmarkFilter(false)).toBe('\u2718');
  }));
 });
});

注意在執(zhí)行任何過(guò)濾器測(cè)試之前,你需要為phonecatFilters模塊配置我們的測(cè)試注入器。

執(zhí)行./scripts/test/sh運(yùn)行測(cè)試,你應(yīng)該會(huì)看到如下的輸出:

Chrome: Runner reset.
....
Total 4 tests (Passed: 4; Fails: 0; Errors: 0) (3.00 ms)
 Chrome 19.0.1084.36 Mac OS: Run 4 tests (Passed: 4; Fails: 0; Errors 0) (3.00 ms)

現(xiàn)在讓我們來(lái)練習(xí)一下AngularJS內(nèi)置過(guò)濾器,在index.html中加入如下綁定:

  1. {{ "lower cap string" | uppercase }}
  2. {{ {foo: "bar", baz: 23} | json }}
  3. {{ 1304375948024 | date }}
  4. {{ 1304375948024 | date:"MM/dd/yyyy @ h:mma" }}

我們也可以用一個(gè)輸入框來(lái)創(chuàng)建一個(gè)模型,并且將之與一個(gè)過(guò)濾后的綁定結(jié)合在一起。在index.html中加入如下代碼:

<input ng-model="userInput"> Uppercased: {{ userInput | uppercase }}

總結(jié)

現(xiàn)在你已經(jīng)知道了如何編寫(xiě)和測(cè)試一個(gè)定制化插件,在步驟10中我們會(huì)學(xué)習(xí)如何用AngularJS繼續(xù)豐富我們的手機(jī)詳細(xì)信息頁(yè)面。

以上就是對(duì)AngularJS 過(guò)濾器的資料整理,后續(xù)繼續(xù)補(bǔ)充相關(guān)資料,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Angular.js基礎(chǔ)學(xué)習(xí)之初始化

    Angular.js基礎(chǔ)學(xué)習(xí)之初始化

    這篇文章主要介紹了Angular.js基礎(chǔ)學(xué)習(xí)之初始化的相關(guān)資料,AngularJS 啟動(dòng)有兩種方式,一種是綁定初始化,自動(dòng)加載,另外一種是手動(dòng)初始化,文中介紹的很詳細(xì),需要的朋友可以參考下。
    2017-03-03
  • angularjs實(shí)現(xiàn)上拉加載和下拉刷新數(shù)據(jù)功能

    angularjs實(shí)現(xiàn)上拉加載和下拉刷新數(shù)據(jù)功能

    本篇文章主要介紹了angularjs實(shí)現(xiàn)上拉加載和下拉刷新數(shù)據(jù)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • angular使用TweenMax動(dòng)畫(huà)庫(kù)的問(wèn)題和解決方法

    angular使用TweenMax動(dòng)畫(huà)庫(kù)的問(wèn)題和解決方法

    這篇文章主要給大家介紹了關(guān)于angular使用TweenMax的相關(guān)問(wèn)題和解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • AngularJS HTML編譯器介紹

    AngularJS HTML編譯器介紹

    這篇文章主要介紹了AngularJS HTML編譯器介紹,AngularJS的HTML編譯器能讓瀏覽器識(shí)別新的HTML語(yǔ)法。它能讓你將行為關(guān)聯(lián)到HTML元素或者屬性上,甚至能讓你創(chuàng)造具有自定義行為的新元素,需要的朋友可以參考下
    2014-12-12
  • Angular JS 生成動(dòng)態(tài)二維碼的方法

    Angular JS 生成動(dòng)態(tài)二維碼的方法

    這篇文章主要介紹了Angular JS 生成動(dòng)態(tài)二維碼的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • Angular ElementRef簡(jiǎn)介及其使用

    Angular ElementRef簡(jiǎn)介及其使用

    這篇文章主要介紹了Angular ElementRef簡(jiǎn)介及其使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • 解決angular 使用原生拖拽頁(yè)面卡頓及表單控件輸入延遲問(wèn)題

    解決angular 使用原生拖拽頁(yè)面卡頓及表單控件輸入延遲問(wèn)題

    這篇文章主要介紹了angular 中使用原生拖拽頁(yè)面卡頓及表單控件輸入延遲問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Angularjs的啟動(dòng)過(guò)程分析

    Angularjs的啟動(dòng)過(guò)程分析

    本篇文章主要介紹了Angularjs的啟動(dòng)過(guò)程分析,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • Angular實(shí)現(xiàn)form自動(dòng)布局

    Angular實(shí)現(xiàn)form自動(dòng)布局

    這篇文章主要介紹了Angular實(shí)現(xiàn)form自動(dòng)布局的相關(guān)資料,以代碼片段的形式分析了Angular實(shí)現(xiàn)form自動(dòng)布局的實(shí)現(xiàn)方法,感興趣的小伙伴們可以參考一下
    2016-01-01
  • AngularJS解決ng界面長(zhǎng)表達(dá)式(ui-set)的方法分析

    AngularJS解決ng界面長(zhǎng)表達(dá)式(ui-set)的方法分析

    這篇文章主要介紹了AngularJS解決ng界面長(zhǎng)表達(dá)式(ui-set)的方法,通過(guò)具體問(wèn)題的分析并結(jié)合實(shí)例形式給出了AngularJS長(zhǎng)表達(dá)式的相關(guān)使用技巧,需要的朋友可以參考下
    2016-11-11

最新評(píng)論

罗定市| 宜章县| 加查县| 溧阳市| 霞浦县| 淮北市| 汝阳县| 潜江市| 中方县| 苍山县| 木兰县| 唐山市| 根河市| 明水县| 运城市| 华阴市| 万安县| 张北县| 临桂县| 涿鹿县| 荣昌县| 凉城县| 大冶市| 玉环县| 江口县| 巴彦淖尔市| 临漳县| 始兴县| 岫岩| 天门市| 前郭尔| 鱼台县| 文安县| 新泰市| 巫山县| 大埔区| 义马市| 同德县| 苍山县| 沙洋县| 盈江县|