typescript - ฉันสามารถแนบคอมโพเนนต์หลายตัวกับออบเจ็กต์คลาสเดียวใน Angular 2 ได้หรือไม่?
ฉันมีเทมเพลตและสไตล์สำหรับกล่องกรอกข้อมูลสองแบบที่แตกต่างกัน แต่โดยพื้นฐานแล้วทำงานในลักษณะเดียวกันและเข้าถึงข้อมูลแบ็กเอนด์ในลักษณะเดียวกัน ฉันต้องการให้สองเทมเพลตเข้าถึงฟังก์ชันเดียวกัน มีวิธีใดที่จะเชื่อมต่อคอมโพเนนต์สองตัวเข้ากับคลาสเดียวกันหรือให้คอมโพเนนต์หนึ่งเข้าถึงฟังก์ชันของอีกคอมโพเนนต์ได้ไหม?
@Component({
selector: 'inputbox1',
templateUrl: 'templates/Tnputbox1.html'
})
export class Inputbox1 {
...
}
อีกทางเลือกหนึ่งคือการสร้างคลาสสองคลาสที่มีโค้ดเหมือนกันสำหรับแต่ละส่วนประกอบ หรือเขียนเทมเพลตและสไตลิงทั้งหมดใหม่
คำตอบ #1
คุณสามารถสร้างคลาสนามธรรมและสืบทอดมันสำหรับคลาสอื่น ๆ ได้:
@Component({
selector: 'inputbox1',
templateUrl: 'templates/Tnputbox1.html'
})
export class Inputbox1 extends Inputbox {
...
}
@Component({
selector: 'inputbox2',
templateUrl: 'templates/Tnputbox2.html'
})
export class Inputbox2 extends Inputbox {
...
}
abstract class Inputbox {
...your common functions
}
