2016-03-20 2 views
4

У меня есть очень простая трубу, вытекающая команда из https://angular.io/guide/cheatsheet:Невозможно создать трубы в угловых 2 с ES5

app.DisplayKeystrokePipe = ng.core 
    .Pipe({ 
     name: "displayKeystroke" 
    }) 
    .Class({ 
     transform: function() { 

     } 
    }); 

К сожалению, я получаю ошибку: Error: Only Function or Array is supported in Class definition for key 'constructor' is 'undefined'

, что я делаю неправильно?

ответ

4

Вы упускаете конструктор в вашем Class({})

app.DisplayKeystrokePipe = ng.core 
    .Pipe({ 
     name: "displayKeystroke" 
    }) 
    .Class({ 
     constructor : function() {}, // <<< --- 
     transform: function() { 

     } 
    }); 

Вы можете прочитать на decorators.ts, что требуется конструктор.

+0

Ну, я удалил конструктор, потому что он дает мне другую ошибку: «ИСКЛЮЧЕНИЕ: на конструкторе нет аннотации директивы». Поскольку у них нет конструктора на https://angular.io/docs/ts/latest/guide/pipes.html, я предполагаю, что TypeScript просто добавляет конструктор автоматически? – Smaug

+0

@ Тифокс да, но это машинопись. Машинопись делает все то волшебство для нас. Если у вас возникла проблема с этой ошибкой директивы, вы должны начать с этого. –

+0

нормально, поэтому я создаю новое сообщение для этой ошибки? – Smaug

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