Ich habe Probleme mit Angular-Richtlinien.Angular 1 Direktive nicht innerhalb einer Richtlinie innerhalb ng-wiederholen
Mein Ziel ist es, eine Richtlinie mmContentRow
für jedes Element in einem Bereich mit ng-repeat
zu rendern. Diese Direktive mmContentRow
hat eine Vorlage, wo eine andere Direktive relativeDate
gerendert wird.
Das Problem ist, dass relativeDate
innerhalb mmContentRow
nicht gerendert wird. Ich habe viele Lösungen ausprobiert, aber bisher nichts. Hier ist der Code:
parent.html
:
<ul>
<mm-content-row ng-repeat="report in selected.reports" date="report.reported_date"/>
</ul>
mm-content-row.js
angular.module('inboxDirectives').directive('mmContentRow', function() {
return {
restrict: 'E',
templateUrl: 'mm-content-row.html',
scope: {
date: '=',
}
};
});
mm-content-row.html
:
<li>
<span>{{date}}</span>
<relative-date date="{{date}}"></relative-date>
</li>
relative-date.js
:
angular.module('inboxDirectives').directive('relativeDate', ['FormatDate', function(FormatDate) {
return {
restrict: 'E',
template: '<span>rendered something</span>',
scope: {
date: '=',
}
};
}]);
Beispieldaten:
{ selected: {reports:
[{reported_date: 1508493112758}, {reported_date: 1508493101933}]
} }
gerenderte Ausgabe:
<ul>
<li>
<span>1508493112758</span>
<relative-date date="1508493112758"></relative-date>
</li>
<li>
<span>1508493101933</span>
<relative-date date="1508493101933"></relative-date>
</li>
</ul>
Erwartete Ausgabe:
<ul>
<li>
<span>1508493112758</span>
<span>rendered something</span>
</li>
<li>
<span>1508493101933</span>
<span>rendered something</span>
</li>
</ul>
Soweit ich sehen kann, ist die relative-date
innerhalb einer Richtlinie innerhalb ng-repeat
doesn Ich werde nicht kompiliert. Ich habe erwartet, dass Angular es automatisch kompiliert, aber es scheint nicht zu passieren. Sollte ich Angular explizit anweisen, relative-date
innerhalb mmContentRow
zu kompilieren?
Update: Ich habe eine Geige mit vereinfachter Version meines Problems erstellt: http://jsfiddle.net/cbrwizard/4e2r2o07/. Alles funktioniert dort. Seltsam! Ich werde hier ein Update veröffentlichen, wenn ich den Unterschied zwischen der Geige und meinem Code feststelle.
Können Sie ein einfaches Beispiel in jsfiddle erstellen, um die Auflösung schneller zu finden? – Appeiron
immer noch den Kopf kratzen, warum brauchen Sie 2 benutzerdefinierte Direktiven, die in einem – Mudassar
@ Mudassar Ich möchte "relativeDate" auch in anderen Richtlinien wiederverwenden. In diesem Beispiel habe ich die Implementierungsdetails entfernt, damit ich verstehe, woher Ihre Frage kommt – cbrwizard