2016-08-10 23 views
11

arasındaki Paylaşılan bileşenini angular2-app numaralı yeni RC5 numaralı telefonuma güncelleştiriyorum. Ben oldukça uzak var ve herşey yolunda görünüyor, ama şimdi NgModules içine yeniden düzenlemek istiyoruz ve bir şey geldi: Farklı Modülleri (ModuleA & ModuleB demek) birden fazla diğer bileşenler arasında bir bileşen ("Componenta") kullanılır .Angular2 RC5, Modüller

En kısa sürede bu şekilde kullanmak gibi ben olsun bir:

Yakalanmayan Tipi Componenta 2 modülden bildirimleri parçasıdır: ModuleA ve ModuleB!

hata.

Bildiğim kadarıyla gördüğünüz gibi, bu aşmanın tek yolu doğru yani, bütün ortak malzeme ile bir Shared-Module kullanmaktır ? Veya bileşenleri Modüller arasında paylaşmanın daha kolay bir yolu var mı?

+0

[Bu] (https://medium.com/@alihaghighatkhah/creating-a-shared-module-in-angular2-d281632316ff#.w0dpsvf48) makale size yardımcı olabilecek bağlantıya bakın . – Reyraa

cevap

22

:) önceden

sayesinde paylaşılan bileşen için bir modül yapmak ve bu bileşeni kullanmak istediğiniz yerde bu modülü ithal etmek zorunda. hata mesajları olarak

bir bileşeni (veya yönergesi veya boru), tam olarak bir modülün directives listelenebilir söyledi. Yeniden kullanmak istiyorsanız

, o zaman bunu kullanmak istediğiniz modülün @NgModule({imports: [...]}) bunu içeren modülü eklemek gerekir.

+0

Bu tek cevap oldu korktum ..;) Şimşek hızlı yanıt için teşekkür ederiz [en kısa sürede kabul edeyim] –

+1

bazı kod örneği? – albanx

+2

https://angular.io/docs/ts/latest/guide/ngmodule.html –

4

TÜM Paylaşılan bileşenlerimi içeren bir modül yapıyorum.

Bu, diğer modüllerimde içe aktarmayı çok daha kolay hale getirir.

Pro ipucu: modüllerinize yönlendirme yapın ve bunlardan birisini tembel yüklü hale getirmek için - sadece eğlenmek için - deneyin.

Sonra düşüneceğim: Paylaşılan modülünü kullanmak zorunda

+0

Hehe, cevabınız için teşekkürler. Paylaşılan bir modül ekledikten sonra artıları olduğunu fark ettim ... Sonuçta iyi bir şey, evet! Sıradaki yükleme, sıradaki listede olacak. –

+2

Eğer yardımcı olursa, Angular2, Webpack2, Typescript2 ve Angular-Material kullanarak bir demo uygulaması yapan Github üzerinde bir repo yaptım. Ben tüm malzeme-bileşenleri birlikte kullanıyorum paylaşılan bir ngModule içine çarptı uygulaması. Repo'yu bir Docker konteynerinin içinde de çalıştırabilirsiniz. https://github.com/spock123/angular2-webpack2-typescript2 – Spock

+1

Bu yaklaşımı takip ediyorum; paylaşılan modülüm şunları içerir: üstbilgi ve altbilgi bileşenleri. Ancak, paylaşılan modülün yönlendirmesi olmadığından, başlığımda yönlendirici bağlantılara sahip olamam. Bunu nasıl düzeltirsiniz? Her modül için ayrı bir başlık bileşeni var mı? – Boland

4

"whoaaaaa modüller cooooolllll vardır".

SharedModule, diğer birçok modüldeki bileşenlerin şablonlarında kullanılmak üzere yaygın olarak kullanılan bileşenleri, yönergeleri ve boruları kullanılabilir yapmak için var.

İstediğiniz Hiç diğer modüllerde & ithalatını ihraç etmek zorunda. Daha fazla ayrıntı için

shared module