2016-10-05 6 views
0

Ich möchte die Vorlage meiner Komponente neu kompilieren/kompilieren. Ich lade ein externes Modul mit $ onInit, und Dinge tauchen nur auf, wenn ich irgendwo anders auf der Seite navigiere und dann wieder zurück zu der Seite, die das Modul lädt.angularJS-Komponente neu kompilieren?

Ich dachte, dass ich vielleicht die Vorlage kompilieren könnte. Kennst du einen Weg, wie ich das machen könnte?


Edit:

Wenn ich in meinem Code verwenden kompilieren, geschieht nichts

controller: { 
$onInit(){ 
this.$ocLazyLoad.load('some.module.js'); 
} 
}, 

template: 
'<p>Sample text here</p>', 

compile: function (tElement, tAttrs) { 
    return function(scope) { 
     scope.widgetCenter = tAttrs.widgetCenter; 
    }; 

} 

Antwort

2

Wenn die Vorlage Inhalt in eine Variable "Templatecontent" sind. Sie können die „$ Kompilierung“ Service von Winkel verwenden, wie unten dargestellt:

$compile(templateContent)(scope); 

Finden Sie das Beispiel here

+0

ok ... sagen wir mal ich eine Vorlage haben. Ich möchte das kompilieren. Wo sollte ich das in meinem Code hinzufügen? Oder ist es besser, eine Variable zu erstellen, sie als Vorlage zu referenzieren und dann $ compile (variable) (scope)? – julesrose

+0

Sie sollten es in Ihrer Anweisung tun, wie in dem Beispiel-Link gezeigt, den ich angegeben habe. Wenn Sie eine Geige oder einen Beispielcode teilen können, wäre es hilfreich. Wenn Sie denken, dass meine Antwort Ihnen geholfen hat, markieren Sie sie bitte als akzeptierte Antwort, damit wir an anderen Fragen arbeiten können. – superUser

+0

Ich lese auch, dass ich in einer Direktive $ kompilieren könnte, aber ich verwende eine Komponente, keine Direktive ... – julesrose

Verwandte Themen