angularjs - not - ¿Cómo construyo dinámicamente un ng-include src?
ng-include angularjs (1)
ngInclude | src
ngInclude | src
directiva ngInclude | src
requiere una expresión angular, lo que significa que probablemente deberías escribir
ng-src="''/modules/'' + module.Id + ''/tpl.html''"
De http://docs.angularjs.org/api/ng.directive:ngInclude
ngInclude | src cadena expresión angular evaluando a URL. Si la fuente es una cadena constante, asegúrese de incluirla entre comillas, por ejemplo, src = "''myPartialTemplate.html''".
Podría ser mejor si construyes la url en un modelo en lugar de HTML en línea
<div ng-repeat="module in modules" id="{{module.Id}}">
<ng-include src="module.url"></ng-include>
</div>
Tengo el siguiente código:
<div ng-repeat="module in modules" id="{{module.Id}}">
<ng-include ng-init="bootstrapModule(module.Id)" src=""></ng-include>
</div>
Quiero poder construir una cadena en src así:
/modules/{{module.Name}}/{{module.Name}}.tpl.html
Pero sigo golpeando las barricadas. He intentado usar una función de devolución de llamada para construirla,
$scope.constructTemplateUrl = function(id) {
return ''/modules/'' + id + ''/'' + id + ''.tpl.html'';
}
Pero esto se llama una y otra vez y no parece gustar eso. También he intentado construirlo así:
ng-src="/modules/{{module.Id}}/{{module.Id}}.tpl.html"
Pero eso tampoco está funcionando. En lugar de pasar horas andando por las ramas, me preguntaba si alguien más se ha topado con algo como esto y tiene alguna idea.
Además, cuando tomo los módulos de $ resource, los devuelvo de forma asíncrona con $ q, por lo que parece que no puedo pasar y agregarlos a los módulos antes en el controlador, ya que $scope.modules
simplemente es igual a una función " then
en ese punto.
¿Algunas ideas?