Şablonları dinamik olarak angular2'ye yüklemek için bir yol var mı? Angular1'de ana denetleyici görünümünde farklı html
şablonunu yüklemek için ng-include kullanılır. Angular2'nin sadece 1 templateUrl alabildiğini venumaralı google'ı angular2'de düzenleyebileceğini ve herhangi bir referans bulamadığını biliyorum.Angular2 dinamik şablonu veya ng-dahil
cevap
Dinamik şablondan emin değilsiniz, ancak dinamik bir bileşen ekleyebilirsiniz (bununla birlikte, farklı bir şablona sahip olacaksınız). güncel örnek An Angular2: Insert a dynamic component as child of a container in the DOM
ancak daha karmaşık burada bulunabilir:
Basit bir örnek, ama burada bulabilirsiniz DEPRECATED How can I use/create dynamic template to compile dynamic Component with Angular 2.0?
ihtiyacınız var Neden hazırlamak varken ng-dahil Özel bir yeni bileşen olarak html ve ihtiyaç duyduğunuz her yerde kullanın, seçici etiketi sayesinde.
Örn: Yani burada
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html'
})
, my-component.component.html
dosya eklemek istediğiniz veya başka her yerde göstermek işaretlemeyi sahip olabilir. ve <app-my-component></app-my-component>
seçme etiketi değeri, uygulama biçimlendirme html dosyalarınızda kullanılabilir (günlük html etiketleriniz olarak düşünebilirsiniz - ancak doğada oldukça özelleştirilebilir ve açısal çerçeve tarafından ilk özel etiketlerle yorumlanır ancak açısal kullanılarak oluşturulur).
Denediğimiz bu şey, ancak etiketinin geldiği konsol hatası düzgün bitti değil. header.html ve sonlandırma etiketinde html başlangıç etiketini footer.html –
'a eklediğimizden, index.html dosyanızın yaklaşık
Bu fikir güzel. Üstbilgi ve altbilgi için iki ayrı bileşen yaparak denedim ve
['ngTemplateOutlet'] (https://angular.io/docs/ts/latest/api/common/index/NgTemplateOutlet-directive.html) var, ancak tam olarak aradığınız gibi görünmüyor . Başka bir yol, çalışma zamanında bileşenleri derlemektir. –
Bu çözümü deneyebilirsiniz: http://stackoverflow.com/questions/33749994/dynamic-template-in-templaturl-in-angular2?answertab=votes#tab-top –