Ich verwende die Direktive ngInclude
, um HTML-Fragmente zu laden. Jetzt suche ich nach dem besten Weg, um eine dynamische URL zu übergeben. Ich weiß, ich kann die URL mit String-Verkettung erstellen:AngularJS: ngInclude und dynamische URLs
<ng-include src="'/foo/' + fooId + '/bar/' + barId + '/baz/' + bazId"></ng-include>
In meinen Augen das ein bisschen hässlich.
ngHref
und ngSrc
akzeptieren Sie beispielsweise URLs mit {{}}
Markup. IMHO diese Syntax ist viel sauberer:
<img ng-src="/foo/{{fooId}}/bar/{{barId}}/baz/{{bazId}}"/>
<a ng-href="/foo/{{fooId}}/bar/{{barId}}/baz/{{bazId}}"/>
Gibt es eine bessere Möglichkeit, dynamische URLs an ngInclude übergeben?
Ist die Rückruffunktion erforderlich? Warum betrifft das nicht direkt $ scope.templateUrl = "/ foo /" ...? – MaximeBernard
Der Rückruf ist nicht die einzige Möglichkeit. Sie könnten sicherlich eine 'templateUrl'-Eigenschaft für den Bereich erstellen. Sie würden nur eine konsistente Art der Aktualisierung des Wertes von templateUrl benötigen, wenn 'fooId',' barId', 'bazId' geändert werden. – jessegavin
Also, mit einem Callback wird "automatisch" den Wert von templateUrl aktualisieren, während die direkte Wirkung von TemplateUrl nicht? – MaximeBernard