如何将类成员变量传递给另一个组件角度



car.ts有"isNewCar";变量in";导出类Car{}";,并且我需要将";isNewCar";变量转换为另一个组件carSale.ts,该组件位于不同的目录中,而不在同一个模块中。我是否必须将car.ts模板添加到carSale.ts文件中;isNewCar";作为输入?

edit:car.ts具有导出类car{isNewCar:boolean=false;},car.ts是一个组件。carSale.ts也是一个组件,但它与car.ts不在同一个/共享模块中。那么,你能告诉我如何使用viewChild装饰器或carSale.ts中的其他任何东西来访问该变量吗?理想情况下,我不想制作共享模块,但如果必须的话,我可以。

您可以扩展Car类,如

export class CarSale extends Car {

ngOnInit(){
this.isNewCar = true;
}
}

通过扩展Car类,您将能够从CarSale类访问isNewCar属性

需要更多关于用例的信息。汽车是部件还是模型?如果car.ts是一个模型,你应该将其聚合到carSale.ts组件中,或者,如果真的有必要,通过服务使其在全球范围内可用。如果car.ts是一个有自己模板的组件,那么您可以使用输出事件发射器或使用viewChild装饰器来访问该值。还有其他方式可以共享变量,但以上方式更常见。

car.ts:

/*
* This is a POJO
*/
export class Car{
isNew: boolean;
}

车载组件.ts:

export class CarSale {
car: Car; // Car is aggregate into CarSale
ngOnInit(){
car = new Car();
car.isNew = true;
}
}

car-sale-component.html

<-- just use your car object like this --!>
<div *ngIf="car">Is the car new ? {{ car.isNew }}</div>

最新更新