1

我有一个 ionic2 的错误。

上下文:

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

但用户使用装饰器“@myDeco”。

编译不会发送错误,但 ionic 会:

无法解析 的所有参数'Parser'(?)。确保所有参数都用 Inject 修饰或具有有效的类型注释,并且“Parser”用 Injectable 修饰。

或者

模块“AppModule”声明的意外值“HomePage”

如果我评论@myDeco 它运作良好。(当然我已经用 npm install 安装了反射元数据)

树:

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}`);
}

用户.ts

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

关于.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');
    }
}

谢谢 !

迈克尔。

4

0 回答 0