में नियंत्रक में टेम्पलेट से स्थानीय चर का उपयोग करें मैं एक घटक लिख रहा हूं जहां मुझे <audio controls>
देशी तत्व तक पहुंच की आवश्यकता है। मैं इसे इस तरह अब ngOnInit()
में यह हो रही द्वारा इस this.elementRef.nativeElement.querySelector("audio");
Angular2
तरह ElementRef
का उपयोग करते समय यह काम करता है मुझे लगता है कि यह बहुत unelegant है और Angular2 भी warns of the risks when using ElementRef द्वारा .. कर रहा हूँ
वहाँ वास्तव में कोई आसान तरीका है?
क्या मैं इसे <audio controls #player>
के साथ स्थानीय चर के रूप में चिह्नित कर सकता हूं और किसी भी तरह से देशी तत्व को this.player
या नियंत्रक से समान कुछ के माध्यम से एक्सेस कर सकता हूं?
import {Component, OnInit, ElementRef, Input} from 'angular2/core';
@Component({
selector: 'audio-preview',
template: `
<audio controls>
<source [src]="src" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
`
})
export class AudioPreview implements OnInit {
@Input() src: string;
constructor(public elementRef: ElementRef) {}
ngOnInit() {
var audioElement = this.getAudioElement();
audioElement.setAttribute('src', this.src);
}
getAudioElement() : HTMLAudioElement {
return this.elementRef.nativeElement.querySelector("audio");
}
}
धन्यवाद !! मैंने अभी कोशिश की है, और '' ऑडियो नियंत्रण #player [attr.src] = "src"> '' '' '' 'ऑडियो नियंत्रण #player [src] =" src ">' '' क्या अंतर है? – skovmand
@skovmand [attr.src] ['setAttribute()'] (https://developer.mozilla.org/en/docs/Web/API/Element/setAttribute) विधि का उपयोग करके किसी तत्व की विशेषता के लिए बाध्यकारी बनाएं डोम ('element.setAttribute ('src', src)')। '[src]' किसी तत्व की प्रॉपर्टी पर बाध्यकारी बनाता है (बस इसे 'element.src = src' द्वारा सेट करें) – alexpods
मुझे पूछना है ... आपने टेम्पलेट में '# प्लेयर' का उपयोग करने के बारे में कहां से सीखा, और फिर 'ViewChild ('player') 'का उपयोग कर इसका संदर्भ प्राप्त करने में सक्षम होना? (मुझे जो कुछ भी पढ़ रहे हैं उसे पढ़ने शुरू करना है, क्योंकि मुझे कोणीय दस्तावेज़ों में इस तरह की जानकारी नहीं मिल रही है। [व्यूचल्ड एपीआई पेज] (https://angular.io/docs/ts/latest/api/ कोर/ViewChild-var.html) यह समझा नहीं है।) –