如何在 ng-include 中调用内联方法并连接结果?
How to call a method inline in ng-include and concatenate the results?
我希望方法的结果成为传递给 ngInclude 的字符串的一部分。像这样:
<div ng-repeat="result in queryResults.results">
<div class="box" ng-include="'views/' + getRenderer(result) + 'result.html'"></div>
</div>
这行不通。它不会抛出错误,但结果是 views/result.html
。我登录 getRenderer()
并确认它没有被调用。
我不确定为什么我上面的代码不起作用而这段代码有效:
<div class="box" ng-include="'views/widgets/' + result.someVariable + 'result.html'"></div>
编辑:getRenderer 只是 returns 一个字符串:
function getRenderer(result) {
if (result === 'a') {
return 'aaa';
else
return 'bbb';
}
您应该将以下内容添加到您的 controller
。基本上提供一个指向范围变量的函数指针,以便可以在 HTML
上访问它
$scope.getRenderer = getRenderer
我希望方法的结果成为传递给 ngInclude 的字符串的一部分。像这样:
<div ng-repeat="result in queryResults.results">
<div class="box" ng-include="'views/' + getRenderer(result) + 'result.html'"></div>
</div>
这行不通。它不会抛出错误,但结果是 views/result.html
。我登录 getRenderer()
并确认它没有被调用。
我不确定为什么我上面的代码不起作用而这段代码有效:
<div class="box" ng-include="'views/widgets/' + result.someVariable + 'result.html'"></div>
编辑:getRenderer 只是 returns 一个字符串:
function getRenderer(result) {
if (result === 'a') {
return 'aaa';
else
return 'bbb';
}
您应该将以下内容添加到您的 controller
。基本上提供一个指向范围变量的函数指针,以便可以在 HTML
$scope.getRenderer = getRenderer