Angularjs 如何清理Angular 2模型类中的属性

Angularjs 如何清理Angular 2模型类中的属性,angularjs,angular,typescript,model,Angularjs,Angular,Typescript,Model,我有一个以thumbnailUrl作为属性的模型类,它包含另一个域上图像的URL,因此在组件的模板中呈现之前需要进行清理。我已经创建了一个属性thubnailStyleUrl,它应该返回在模板中用作背景图像的净化样式(SafeStyle) 但是,当我运行代码时,会出现以下错误: 无法读取未定义的属性“bypassSecurityTrustStyle”。 DomSanitizer可以像我下面尝试的那样注入到模型的构造函数中吗?如果没有,在呈现之前,我必须清理此属性的其他选项是什么 这是我的模型课

我有一个以thumbnailUrl作为属性的模型类,它包含另一个域上图像的URL,因此在组件的模板中呈现之前需要进行清理。我已经创建了一个属性thubnailStyleUrl,它应该返回在模板中用作背景图像的净化样式(SafeStyle)

但是,当我运行代码时,会出现以下错误:

无法读取未定义的属性“bypassSecurityTrustStyle”。

DomSanitizer可以像我下面尝试的那样注入到模型的构造函数中吗?如果没有,在呈现之前,我必须清理此属性的其他选项是什么

这是我的模型课

import {DomSanitizer, SafeStyle} from "@angular/platform-browser";

export class RecentOrderModel {

    constructor(dataModel:any, private _sanitizer: DomSanitizer) {
        this.orderNum = dataModel.orderNum;
        this.poNum = dataModel.poNum;
        this.buyerName = dataModel.buyerName;
        this.thumbnailUrl = dataModel.thumbnailUrl;
    }

    public get thumbnailStyleUrl() :SafeStyle {
        return this._sanitizer.bypassSecurityTrustStyle('url('+this.thumbnailUrl+')');
    }

    orderNum:string;
    poNum:string;
    buyerName:string;
    thumbnailUrl:string;


}

如果将此模型称为

new RecentOrderModel();
但是,如果您从
服务
组件
调用此功能,您可以执行以下操作:

@Injectable()
export class RecentOrderFactory {

    constructor(private _sanitizer: DomSanitizer) {}

    public createOrderModel(datamodel: any) : RecentOrderModel {
        return new RecentOrderModel(datamodel, this._sanitizer);
    }

}

应将此工厂添加到
提供程序
数组中。

如果将此模型称为

new RecentOrderModel();
但是,如果您从
服务
组件
调用此功能,您可以执行以下操作:

@Injectable()
export class RecentOrderFactory {

    constructor(private _sanitizer: DomSanitizer) {}

    public createOrderModel(datamodel: any) : RecentOrderModel {
        return new RecentOrderModel(datamodel, this._sanitizer);
    }

}

应将此工厂添加到您的
提供程序
数组中。

您是否使用最新版本(RC.6)?您是否使用最新版本(RC.6)?