[Angular 2] Pipe Purity

时间:2015-11-01 06:51:34   收藏:0   阅读:277

Explaining how Pipes only change by default when your Pipe input parameters change and not when your data changes. It also shows you how to make an “unpure” pipe if you always want your pipe to update.

 

import {Pipe} from ‘angular2/angular2‘;

@Pipe({
    name: ‘startsWith‘
})

export class StartsWith{

    transform(value, [field, letter]){
        return value.filter((item) => {
            return item[field].startsWith(letter);
        })
    }
}

Current Pipe only watch for [field, letter] changes, not value changes.

 

The way to tell pipe also watch for value changes is just add ‘pure: false‘:

import {Pipe} from ‘angular2/angular2‘;

@Pipe({
    name: ‘startsWith‘,
    pure: false
})

export class StartsWith{

    transform(value, [field, letter]){
        return value.filter((item) => {
            return item[field].startsWith(letter);
        })
    }
}

 

原文:http://www.cnblogs.com/Answer1215/p/4926645.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!