Từ những gì tôi đã đọc trong Angular 2 documentation của QueryList
, @Query
nên cho phép khả năng đưa tham chiếu đến thành phần con vào một thành phần nhất định.Góc 2.0 - Sự khác biệt giữa @ViewQuery và @Query
Sử dụng @QueryView
tôi đã quản lý để có được một tham chiếu đến một phần tử DOM con như vậy:
// Parent component's template
<my-component #test>
// Parent component
class ParentComponent {
constructor(@Query('test') child: QueryList<any>) {...}
}
tôi mong đợi rằng @Query
có thể trở lại các thành phần phù hợp chứ không phải là phần tử DOM, nhưng tôi đã không được quản lý để làm cho nó hoạt động, cũng như tôi không tìm thấy bất kỳ tài liệu nào cho biết.
Sự khác biệt giữa hai trang trí này là gì?
'@ ViewQuery' truy vấn DOM Xem (chế độ xem bạn chỉ định trong mẫu, còn gọi là Shadow DOM) và truy vấn' @ Query' cho DOM ánh sáng khi bạn sử dụng nó trong Chỉ thị (xem [vấn đề] này (https : //github.com/angular/angular/issues/1935)). Hãy nhớ rằng trong bản phát hành tiếp theo, alpha38, cả Truy vấn và Truy vấn sẽ được đổi tên (Xem [# 3922] (https://github.com/angular/angular/issues/3922)). –
Eric, ý của bạn là gì về 'ánh sáng DOM'? Có cách nào để có được một tham chiếu đến các thành phần con, như vậy mà bạn có thể sau đó gọi phương pháp của nó? Cảm ơn bạn đã cảnh báo về alpha38! – jaker
Tôi nhận được 'ánh sáng DOM' từ đây [Giới thiệu về shadow DOM] (https://www.polymer-project.org/0.5/platform/shadow-dom.html). Dưới đây là ví dụ về cách thực hiện: [plnkr] (http://plnkr.co/edit/WGupqC?p=preview), xem nhận xét trong đó. –