如何动态构建 ng-include src?

2023-12-21

我有以下代码:

<div ng-repeat="module in modules" id="{{module.Id}}">
    <ng-include ng-init="bootstrapModule(module.Id)" src=""></ng-include>
</div>

我希望能够在 src 中构建一个字符串,如下所示:

/modules/{{module.Name}}/{{module.Name}}.tpl.html

但我不断遇到障碍。我尝试使用回调函数来构建它,

$scope.constructTemplateUrl = function(id) {
    return '/modules/' + id + '/' + id + '.tpl.html';
}

但这被一遍又一遍地调用,但似乎并不喜欢那样。我也尝试像这样构造它:

ng-src="/modules/{{module.Id}}/{{module.Id}}.tpl.html"

但这也行不通。我没有花几个小时绕圈子,而是想知道是否还有其他人遇到过这样的事情并有什么想法?

另外,当我从 $resource 获取模块时,我将使用 $q 异步返回它们,因此我似乎无法在控制器中之前将其添加到模块中$scope.modules只等于一个then在那一点上起作用。

有任何想法吗?


ngInclude | src指令需要一个角度表达式,这意味着你应该写

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

From http://docs.angularjs.org/api/ng.directive:ngIninclude http://docs.angularjs.org/api/ng.directive:ngInclude

ngIninclude|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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何动态构建 ng-include src? 的相关文章

随机推荐