2016-03-22 2 views
0

Есть ли какой-нибудь инструмент для управления пользовательским кешем в угловом 2? Местное хранилище?Угловое 2 пользовательское кэширование/локальное хранилище

Прошел через документы, не нашел ссылок.

Как временное решение может использовать jQuery, но чем использовать точку углового?

С уважением

+0

Вы считаете «localStorage» браузера? –

+0

У меня есть, но ранее в угловом 1 была предоставлена ​​оснастка, однако я не нашел ничего подобного в ver 2 – nelly2k

+1

Если вы ищете '$ cacheFactory' в' angular2'. Я тоже не мог найти. Но вопрос [this] (http://stackoverflow.com/questions/19304435/local-storage-vs-angularjs-cachefactory) может помочь. –

ответ

0

Вы также можете взглянуть на это. Это своего рода поставщик государственного управления для Angular2. Я не знаю, если его подходит для вашего требования атм

https://github.com/ngrx/store

0

Я согласен с @micronyks и считают, что @ngrx/store является обязательным пакет при разработке Угловое приложения - для государственного управления.

Однако, я считаю, что есть более подходящий пакет для управления кэшем: @ngx-cache/core который содержит Cached метод декоратора и методу кэширования (has, get, set) с использованием caching API.

В следующем примере показано использование методов API:

anyclass.ts

... 
import { CacheService } from '@ngx-cache/core'; 

@Injectable() 
export class AnyClass { 
    constructor(private readonly cache: CacheService) { 
    // note that CacheService is injected into a private property of AnyClass 
    } 

    // will retrieve 'some string value' 
    getSomeStringValue(): string { 
    if (this.cache.has('some-string')) 
     return this.cache.get('some-string'); 

    this.cache.set('some-string', 'some string value'); 
    return 'some string value'; 
    } 
} 

И этот пример показывает использование метода Cached декоратора и CacheKey PARAMS декоратора:

anyclass.ts

... 
import { Cached, CacheKey } from '@ngx-cache/core'; 

export class AnyClass { 
    // will retrieve 'some string value' 
    @Cached('some-string') 
    getSomeStringValue(): string { 
    return 'some string value'; 
    } 

    @Cached('some-string') 
    getSomeStringValue2(@CacheKey param1: string): string { 
    return 'some string value: ' + param1; 
    } 
} 

... 
// these are the first executions 
console.log(anyClass.getSomeStringValue2('p1')); 
console.log(anyClass.getSomeStringValue2('p2')); 
... 
// will retrieve 'some string value: p1' from `CACHE` 
console.log(anyClass.getSomeStringValue2('p1')); 

// will retrieve 'some string value: p1' from `CACHE` 
console.log(anyClass.getSomeStringValue2('p2')); 

Вот список пакетов, как для клиентской и серверной части кэширования:

Смежные вопросы