Meine Ansicht ist einfach:AngularJS Richtlinie rendert nicht Vorlage
<job-template ng-if="job"></job-template>
Meine Richtlinie:
.directive('jobTemplate', function(){
return {
restrict: 'AE',
replace: true,
link: function(scope,element, attrs) {
var JobStatus = scope.job.JobStatus;
var text = "<p>";
if(JobStatus === 'Created'){
text += "{{job.id}} was created."
}
else if(JobStatus === 'Processing'){
text += "{{job.id}} is currently processing."
}
text += "</p>";
console.log("text");
console.log(text);
return text;
}
};
})
Wenn ich meine Seite laufen, mein <job-template>
Element nicht mit nichts zu ersetzen - auch wenn die Korrekt text
wird in die Konsole geladen.
Was habe ich hier falsch gemacht?
so, wie Sie implementiert ist correct..but Sie bedingte verlassen sollte das Hinzufügen oder einen Teil des DOM entfernt haben, sollten mit 'ng-if', so dass es kein Problem machen würde, wenn 'job' value von einem Ajax geladen wird. –
Wir können dies auch innerhalb der Direktive tun. Zuvor habe ich mit dem WordPress SPA gemacht. Es ist zu viel long Direktive, so dass es nicht möglich ist, all diese Dinge zu erwähnen, aber ich schaffte es mit ** scope. $ Watch ('$ viewContentLoaded', function() {}) ** innerhalb der Direktive. –
$ watch on '$ viewContentLoaded' geladen würde nicht funktionieren auch..sie müssen speziell eine Uhr über' Job' platzieren, aber das wäre eine schlechte Praxis zu haben $ Watch im Code .. Versuchen Sie Beobachter so zu vermeiden dieser Code wird sauberer sein. –