Integrasi sudut dengan komponen web - Peta Jalan

Saya ingin tahu apakah ada peta jalan yang dipublikasikan tentang kapan/bagaimana Angular (2.0+) berencana untuk sepenuhnya mendukung komponen web asli (https://www.webcomponents.org/).

Ya, saya tahu ada ViewEncapsulation.Native dan CUSTOM_ELEMENTS_SCHEMA. Tapi saya bertanya apakah ada rencana untuk mendukung penuh komponen web. Jadi kita bisa menggunakan perpustakaan keren seperti Google Polymer (https://www.polymer-project.org/).

Saya tahu bahwa ada vaadin lib (https://github.com/vaadin/angular2-polymer) yang menangani integrasi. Namun sekali lagi: Saya berbicara tentang dukungan asli.


person Marc Borni    schedule 11.01.2017    source sumber


Jawaban (1)


Ya, itulah hal indah tentang komponen web. Jika browser mendukungnya secara asli, mereka akan bekerja secara asli dalam kerangka apa pun. Ini akan sama dengan menggunakan tag <input> di Angular. Browser merendernya, bukan kerangkanya.

Yang perlu Anda lakukan hanyalah memberi tahu Angular bahwa Anda menggunakan elemen khusus yang tidak diketahuinya dengan CUSTOM_ELEMENTS_SCHEMA.

Sekarang, jika menyangkut pustaka komponen web seperti Polymer, ceritanya berbeda.

Polimer 1.x menggunakan spesifikasi elemen khusus v0, dan mengandalkan banyak logika khusus untuk memanipulasi DOM melalui Polymer.dom(). Ini tidak kompatibel dengan Angular tanpa dukungan pihak ketiga, karena Angular menggunakan metode manipulasi DOM asli dan bukan Polymer. Ini tidak akan pernah didukung oleh Angular, karena spesifikasi v0 bukanlah spesifikasi yang diimplementasikan oleh browser.

Polymer 2.x menggunakan spesifikasi elemen khusus v1, yang diimplementasikan oleh browser (atau sudah diimplementasikan). Berperilaku seperti elemen biasa, sehingga secara alami didukung oleh Angular.

Gula tambahan apa pun yang diberikan oleh perpustakaan seperti Polymer, seperti stempel templat dan penyatuan data, mungkin tidak berfungsi secara asli.

TL;DR;

Angular secara asli mendukung komponen web mengikuti spesifikasi v1.

Library (seperti Polymer) yang dibangun di atas komponen web mungkin menawarkan fitur yang tidak berfungsi di Angular.

Jika Anda ingin menggunakan Polymer dan Angular secara bersamaan, fokuslah pada Polymer 2.x, yang mengimplementasikan spesifikasi v1.

person hotforfeature    schedule 28.04.2017