Angular 4 Universal uygulamasına sahibim ve mikro verileri JSON-LD biçiminde kullanmaya başlamak istiyorum. Bu veri görünümünde başına değişmelidir beri, Şu Açısal 4'te rota değişikliği bu verileri enjekte etmek için bir yol arıyorumKöşeli 2/4/Evrensel - JSON-LD verileri nasıl kullanılır?
<script type="application/ld+json">
{
"@context": "http://schema.org",
...
}
</script>
:
Bu örneğin bazı içeriğe sahip bir script
etiketini kullanır script tags are stripped from templates. docuemnt.createElement
ile bir geçici çözüm kullanırken, bu sunucu tarafı Angular Evrensel uygulamasında çalışmaz.
Bunu nasıl yaparım?
DÜZENLEME
Şimdi düz Açısal olarak adlandırılır Açısal 4.x.x kullanın. ben şöyle document
enjekte:
import { DOCUMENT } from '@angular/platform-browser';
class Test {
constructor(@Inject(DOCUMENT) private _document) {
}
public createScriptTag() {
this._document.createElement('script'); // doesn't work server-side
}
}
Universal, Angular 4 ile uyumlu değildir, bu yüzden tam olarak ne demek istediğinizi net olarak belirtmez. Açısal 2 ve Açısal 4 için çok farklı. 4. "Belgeyi" nasıl kullanıyorsunuz? Sunucu tarafında 'document' global olmadığı için' Inject (DOCUMENT) 'gibi bir belgeye enjekte edilmelidir. Cevap kalitesi, sorunun kalitesine bağlıdır. Bkz. Http://stackoverflow.com/help/mcve – estus
@estus Soru – Nicky
@estus güncellemesini yaptım, Universal v2 ile kıyaslandığında v4 ile daha uyumludur .. –