我正在尝试迭代一组Audio对象(包含3个字符串)并将每次迭代中的音频传递给子组件.
app.component.ts
ngOnInit(){
this.audios = new Array<SoundBoardAudio>();
this.audios.push(new SoundBoardAudio('Western','La canción del Sheriff.','western.mp3'));
this.audios.push(new SoundBoardAudio('Olvidelo Amigo','Busquese otro tonto amigo.','olvidelo_amigo.mp3'));
}
Run Code Online (Sandbox Code Playgroud)
app.component.html
<div class="container">
<app-soundcard *ngFor="let audio of audios" soundBoardAudio=audio></app-soundcard>
</div>
Run Code Online (Sandbox Code Playgroud)
soundboard.component.ts
export class SoundcardComponent implements OnInit {
audio:any;
constructor() {}
@Input() soundBoardAudio;
ngOnInit() {
console.log(this.soundBoardAudio);
let audioSrc = 'assets/audio/'+this.soundBoardAudio.filename;
this.audio = new Audio(audioSrc);
}
...
Run Code Online (Sandbox Code Playgroud)
soundboard.component.html
<div class="card" >
<div class="card-block">
<h2 class="card-title">{{soundBoardAudio.name}}</h2>
<p>{{soundBoardAudio.desc}}
</div>
...
Run Code Online (Sandbox Code Playgroud)
但是当我尝试从子组件中读取音频时,我得到一个未定义的值.如果我只传递一个字符串而不是一个对象,它可以正常工作.
Mar*_*vic 15
父html中的输入语法不正确.这样做:
<div class="container">
<app-soundcard *ngFor="let audio of audios" [soundBoardAudio]="audio"></app-soundcard>
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14513 次 |
| 最近记录: |