typescript - Angular 1'deki gibi DOM öğesi üzerinde Angular 2'yi başlatma
Angular 1'de olduğu gibi bir DOM elemanı üzerine Angular 2'yi bootstrap etmek mümkün mü? Angular 1'de bu, örneğin <head> içindeki title etiketini değiştirmeyi mümkün kılıyordu. Angular 2'de ise my-appi <html> etiketine eklemeniz gerekiyor gibi görünüyor. Angular 1 ve Angular 2'nin her ikisinin de bootstrap edildiği bir plunker oluşturdum.
Angular 1
index.html
<body>
<div ng-controller="MainCtrl">
<h2>Hello {{name}}</h2>
</div>
</body>
app.js
angular.element(document).ready(function() {
angular.bootstrap(document.documentElement, ['plunker']);
});
Angular 2
index.html
<body>
<my-app>Loading...</my-app>
</body>
main.ts
import {bootstrap} from 'angular2/platform/browser';
import {App} from './app';
bootstrap(App, [])
.catch(err => console.error(err));
Cevap #1
Başlığı değiştirmek için Başlık servisi vardır. Bunu enjekte edebilir ve başlığı değiştirmek için kullanabilirsiniz.
Başlıktan daha fazlasını değiştirmek için doğrudan destek planlanıyor.
Angular'da <html>'e my-app eklemek iyi çalışmaz çünkü bu, kök bileşeninizin seçici ile eşleşen etiketin içindeki HTML'yi siler.