Sto utilizzando la direttiva ngInclude
per caricare i frammenti HTML. Ora sto cercando il modo migliore per passare un URL dinamico. So che posso creare l'URL con concatenazione di stringhe:AngularJS: ngInclude e URL dinamici
<ng-include src="'/foo/' + fooId + '/bar/' + barId + '/baz/' + bazId"></ng-include>
Ai miei occhi questo è un po 'brutto.
ngHref
e ngSrc
, ad esempio, accettare gli URL contenenti il markup {{}}
. IMHO questa sintassi è molto più pulita:
<img ng-src="/foo/{{fooId}}/bar/{{barId}}/baz/{{bazId}}"/>
<a ng-href="/foo/{{fooId}}/bar/{{barId}}/baz/{{bazId}}"/>
C'è un modo migliore per passare URL dinamici a ngInclude?
È necessaria la funzione di callback? Perché non influire direttamente su $ scope.templateUrl = "/ foo /" ...? – MaximeBernard
Il callback non è l'unico modo. Potresti sicuramente creare una proprietà 'templateUrl' sull'ambito. Avresti solo bisogno di un modo coerente per aggiornare il valore di 'templateUrl' in qualsiasi momento' fooId', 'barId',' bazId' sono cambiati. – jessegavin
Quindi, l'uso di una callback aggiornerà "automagicamente" il valore di templateUrl mentre influisce direttamente su templateUrl no? – MaximeBernard