Tình huống: Tôi đang sử dụng FirebaseObjectObservable để điền mẫu Ionic 2 (rc0) của tôi. mẫu mã:Cách sử dụng đường quan sát có ống Async bên trong chức năng bấm Angular2
<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>
Hồ sơ TS là
this.course = this.af.database.object('/bbwLocations/courses/' + courseId);
this.course là một đối tượng căn cứ hỏa lực quan sát được. Vấn đề là, phần này sẽ không hoạt động: (click) = "openDeckOnBrowser (course.deckUrl). Khi khóa học.deckUrl trống. Tôi không thể chuyển giá trị cho hàm.
Chỉ hacky way I tìm thấy để làm việc xung quanh cho đến nay là thế này:
<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>
và trên các sự kiện nhấp chuột:
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);
}
Nhưng bất kỳ cách nào chính thức và dễ dàng hơn để tiếp cận này
Bạn có tìm thấy giải pháp nào không? Tôi đang giằng co với điều này. –