我可以阻止Angular绑定无声地失败吗?

时间:2015-05-16 14:40:25

标签: angularjs

我有以下表格标记:

<tr ng-repeat="client in clientsIndex">
    <td>{{client.fullName}}</td>
    <td>{{item.contactPhone}}</td>
</tr>

当此视图呈现时,我看到只填充了一列,但控制台中没有记录任何内容。有没有办法告诉angular这是一个调试会话,如果我复制并粘贴错误,我想看到大的尖叫错误消息?

2 个答案:

答案 0 :(得分:0)

  

当然,在评估{{}}表达式的时候,至少可以输出非空白值吗?

从Angular 1.1.5开始,模板中支持三元运算符。因此,如果未定义,您可以定义类似这样的内容来获取默认值:

<tr ng-repeat="client in clientsIndex">
    <td>{{client.fullName}}</td>
    <td>{{item.contactPhone ? item.contactPhone : 'Error: not defined'}}</td>
</tr>

一般结构是:{{(condition) ? (expression if true) : (expression if false)}}

答案 1 :(得分:0)

出于调试目的,您可以使用任何angular.element(“”)选择器选择元素,并查看该元素的范围以检查您尝试在元素内部访问的变量是否在该元素可用的范围内。查找下面的示例。我使用了一个id选择器,您可以使用子选择器。

<tr id="canbeReplacedWithChildSelectors" ng-repeat="client in clientsIndex">
<td>{{client.fullName}}</td>
<td>{{item.contactPhone}}</td>
</tr>

angular.element(“#canbeReplacedWithChildSelectors”)。scope()执行此操作并检查范围内是否有client.fullName。您的情况是angular.element(“#canbeReplacedWithChildSelectors”) .scope()。客户端会给你未定义的。