我有一个 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');
}
}
谢谢 !
迈克尔。