我有一个ng-repeat打印出一个数字列表
<td ng-repeat="field in objectKeys(estimate)" ng-init="amount = estimate[key]">
<a href="#"
editable-text="estimate[field]"
onaftersave="updateFigure(field,value[field], estimate)"
tooltip="${{formatNumber(actualTable[account][field])}}"
tooltip-trigger="mouseenter"
tooltip-placement="left">
{{formatNumber(estimate[field])}}
</a>
</td>
好处是,它完美无缺,即用显示实际数量的工具提示打印出估计数字。
但是,控制台会报告错误,指出此{{formatNumber(actualTable[account][field])}}
函数调用存在问题,因为变量actualTable[account][field]
为空。但它不是空的,否则无法正确打印出来。
错误的屏幕截图是
我还必须补充说,实际的表数据是通过异步http调用分别请求到估计表的。
我该如何解决这个问题?
答案 0 :(得分:1)
尝试
{{ actualTable[account] && actualTable[account][field] && formatNumber(actualTable[account][field]) }}
或者在undefined
中添加$scope.formatNumber
支票
$scope.formatNumber = function(data) {
if (data) {
//your code
}
};
答案 1 :(得分:0)
这可能是在填充值之前在角度摘要中评估绑定的情况。使用时会发生同样的事情 代替或代替
尝试将控制器范围中formatNumber(actualTable [account] [field])的值设置为变量,然后将其绑定到工具提示。 Angular表达式语法应该能够处理作用域上的值而不记录控制台错误。
E.g。
$scope.formattedValue = formatNumber(actualTable[account][field]);
在你的HTML中:
tooltip="{{formattedValue}}"
额外奖励:您可以使用角度一次性绑定(使用&#34; ::&#34;前置表达式)将值从摘要周期中删除,这将有助于保持您的前端快速。