परिस्थिति: मैं FirebaseObjectObservable उपयोग कर रहा हूँ मेरी आयोनिक 2 (RC0) टेम्पलेट को भरने के लिए। टेम्पलेट कोड:Angular2 क्लिक समारोह के अंदर Async पाइप के साथ प्रत्यक्ष का उपयोग कैसे करें
<p>{{(course | async)?.description}}</p>
<button ion-button dark full large (click)="openDeckOnBrowser(course.deckUrl)">
<ion-icon name='cloud-download'></ion-icon>
<div>View Deck</div>
</button>
टीएस फ़ाइल
this.course = this.af.database.object('/bbwLocations/courses/' + courseId);
this.course एक Firebase वस्तु मानने योग्य है है। समस्या यह है कि यह हिस्सा काम नहीं करेगा: (क्लिक करें) = "openDeckOnBrowser (course.deckUrl)। पाठ्यक्रम के रूप में .deckUrl खाली है। मैं फ़ंक्शन पर मान पास नहीं कर सकता।
केवल एक ही हैकी तरीका I चारों ओर अब तक काम करने के लिए मिल गया यह है:
<button id="{{(course | async)?.deckUrl}}" ion-button dark full large (click)="openDeckOnBrowser($event)">
<ion-icon name='cloud-download'></ion-icon>
<div id="{{(course | async)?.deckUrl}}">View Deck</div>
</button>
और क्लिक करें घटना पर:
openDeckOnBrowser(event):void {
console.log(event);
let target = event.target || event.srcElement || event.currentTarget;
let idAttr = target.attributes.id;
let url = idAttr.nodeValue;
console.log (url);
}
लेकिन इस दृष्टिकोण के लिए किसी भी अधिकारी और आसान तरीका
आप किसी भी समाधान मिला? मैं इसके साथ झुकाव कर रहा हूँ। –