Angularjs 如何动态构建ng include src?

Angularjs 如何动态构建ng include src?,angularjs,angularjs-ng-repeat,angularjs-ng-include,Angularjs,Angularjs Ng Repeat,Angularjs Ng Include,我有以下代码: <div ng-repeat="module in modules" id="{{module.Id}}"> <ng-include ng-init="bootstrapModule(module.Id)" src=""></ng-include> </div> 但我总是遇到障碍。我尝试使用回调函数来构建它 $scope.constructTemplateUrl = function(id) { return '/

我有以下代码:

<div ng-repeat="module in modules" id="{{module.Id}}">
    <ng-include ng-init="bootstrapModule(module.Id)" src=""></ng-include>
</div>
但我总是遇到障碍。我尝试使用回调函数来构建它

$scope.constructTemplateUrl = function(id) {
    return '/modules/' + id + '/' + id + '.tpl.html';
}
但这被称为一次又一次,它似乎不喜欢这样。我也试着这样构造它:

ng-src="/modules/{{module.Id}}/{{module.Id}}.tpl.html"
但这也不起作用。我不想花几个小时绕圈子,而是想知道是否还有其他人遇到过类似的事情,有什么想法

另外,当我从$resource中获取模块时,我将使用$q异步返回它们,因此我似乎无法在控制器中将其作为
$scope进行遍历并添加到模块中。此时模块
仅等于一个
,然后
函数


有什么想法吗?

ngInclude | src
指令需要一个角度表达式,这意味着您可能需要编写

ng src=“'/modules/'+module.Id+'/tpl.html'

ngInclude | src字符串角度表达式计算URL。如果 source是一个字符串常量,请确保用引号将其括起来,例如。 src=“'myPartialTemplate.html'”

如果在模型中构造url而不是内联HTML,可能会更好

<div ng-repeat="module in modules" id="{{module.Id}}">
    <ng-include src="module.url"></ng-include>
</div>


您遇到了什么错误?您的方法现在可以工作了,但我确信我以前尝试过,我一定是使用了ng src而不仅仅是src。谢谢@rogerz@罗杰斯-这对我也很有用。在我的示例中,它可以工作,但我在控制台中得到一个404错误。见答案:有什么想法吗?谢谢
<div ng-repeat="module in modules" id="{{module.Id}}">
    <ng-include src="module.url"></ng-include>
</div>