2016-08-18 8 views
1

Я следовал за тур героев с сайта Angular2 использованием Dart в качестве языка и у меня есть ошибки, когда я пытаюсь использовать прописную трубу:Angular2 тур героев в Dart: прописные

Build error: 
Transform TemplateCompiler on angular2_tour_of_heroes|lib/heroes_component.ng_meta.json threw error: Template parse errors: 
The pipe 'uppercase' could not be found (" 

Здесь мой heroes_component.html файл:

<h2>My Heroes</h2> 
    <ul class="heroes"> 
    <li *ngFor="let hero of heroes" 
     [class.selected]="hero == selectedHero" 
     (click)="onSelect(hero)"> 
     <span class="badge">{{hero.id}}</span> {{hero.name}} 
    </li> 
    </ul> 
    <div *ngIf="selectedHero != null"> 
    <h2> {{selectedHero.name | uppercase}} is my hero </h2> 
    <button (click)="gotoDetail()">View Details</button> 
    </div> 

это не имеет большого значения, но я хотел бы знать, почему это происходит. Я использую версию pub 1.18.1 и версию Dart VM: 1.18.1 для Linux.

Для полноты, вот мой pubspec файл:

name: angular2_tour_of_heroes 
description: Tour of heroes 
version: 0.0.1 
environment: 
     sdk: '>=1.13.0 <2.0.0' 
dependencies: 
     angular2: 2.0.0-beta.18 
     browser: ^0.10.0 
     dart_to_js_script_rewriter: ^1.0.1 
transformers: 
- angular2: 
    platform_directives: 
    - 'package:angular2/common.dart#COMMON_DIRECTIVES' 
    platform_pipes: 
    - 'package:angular2/common.dart#COMMON_PIPES' 
    entry_points: web/main.dart 
- dart_to_js_script_rewriter 

ответ

2

Update

Ваши пределы pubspec.yaml Angular2 в beta.18 но есть уже beta.19 доступны.

Если изменить зависимость к

dependencies: 
     angular2: ^2.0.0-beta.18 

и запустить pub upgrade вы получите самую свежую версию. Я не знаю изменений, связанных с трубами, но стоит попробовать (и это зафиксировано в соответствии с комментарием ниже).

Оригинал

Вы должны указать в pubspec.yaml, что commonPipes должна быть окружающая

transformers: 
- angular2: 
    platform_directives: 
    - 'package:angular2/common.dart#COMMON_DIRECTIVES' 
    platform_pipes: 
    - 'package:angular2/common.dart#COMMON_PIPES' 
    entry_points: web/main.dart 

Смотрите также

+0

Мой 'pubspec' уже содержит' platform_pipes: - «пакет: angular2/common.dart # COMMON_PIPES'' – glapworth

+1

Я не думаю, что там есть что-то изменилось отношение к трубам, но может быть стоит попробовать обновить до бета-версии .19 –

+1

Рад слышать :) и сделано. –