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