装饰器es6 angular2 ionic2打字稿错误

时间:2017-03-15 10:35:41

标签: angular ionic2 typescript2.0 angular2-decorators

我有离子2的错误。

上下文:

我使用ionic start myProject --v2创建一个空项目。 我在about.ts中导入了我的实体{User},并在代码中创建了一个新的User()。

但是用户使用装饰者" @myDeco。"

编译发送没有错误,但离子确实:

无法解析'Parser'(?)的所有参数。确保所有参数都使用Inject进行修饰或具有有效的类型注释以及' Parser'用Injectable装饰。

意外的价值'主页'由模块' AppModule'

声明

如果我对@myDeco发表评论,它的效果会很好。 (当然我已经用npm install安装了reflect-metadata)

树:

src/bdd/entity/User.ts
src/bdd/reflect/myreflect.ts
src/pages/about/about.ts

代码:

myreflect.ts

import 'reflect-metadata';    
    export function myDeco(target: any, key: string) : void{
    var t = Reflect.getMetadata("design:type", target, key);
    console.log(`${key} type: ${t.name}`);
}

User.ts

import {myDeco} from '../reflexif/myreflect'
export class User { 
    @myDeco
    private login: string;
    public setlogin(login: string) {this.login=login;}
}

About.ts

import {Component} from '@angular/core';
import {NavController} from 'ionic-angular';
import {User} from '../../bdd/entity/User'
@Component({
    selector: 'page-about',
    templateUrl: 'about.html'
})
export class AboutPage {
    constructor(public navCtrl: NavController) {
        let u = new User();
        u.setLogin('grgr');
    }
}

谢谢!

迈克尔。

0 个答案:

没有答案