Show   if value empty
如果值为空,我需要在
1 | <td class="licnum">{{participant.LicenseNumber}}</td> |
我试过了,但没用:
1 | <td class="licnum">{{participant.LicenseNumber} ||"$nbsp;"}</td> |
返回
如果许可证号带有
使用Lucuma的建议,它显示了:
在过滤器中更改if语句后,仍然不显示非
- 使用过滤器
{{participant.LicenseNumber | myEmptyChkFilter}}</td> - 什么是MyEmptyChkFilter?
- 你必须创建一个角度过滤器:docs.angularjs.org/guide/filter
- 我认为你拥有的应该是有用的。缺少
} 。{{participant.LicenseNumber} ||"$nbsp;"}} - @Lucuma,这会导致错误:
Syntax Error: Token '}' is an unexpected token at column 26 of the expression [participant.LicenseNumber} ||"$nbsp;"] starting at [} ||"$nbsp;"]. 。- 它应该是参与者.licenseNumber"$nbsp;"我下面的答案演示了它的工作。
你所拥有的应该是有用的。您缺少一个结束的
} ,并且在需要删除的表达式中间有一个。这是一个演示,演示了您的解决方案的工作情况和一个ng if。http://plnkr.co/edit/url7clbi6geqvyzoauahz?P=信息
一个过滤器可能是要走的路线,但您可以用一个简单的ng if或ng显示(在td上,甚至在跨度上)来完成它:
1
2<td class="licnum" ng-if="participant.LicenseNumber">{{participant.LicenseNumber}}</td>
<td class="licnum" ng-if="!participant.LicenseNumber"> </td>或
1<td class="licnum"><span ng-if="participant.LicenseNumber">{{participant.LicenseNumber}}</span><span ng-if="!participant.LicenseNumber"> </span></td>我将此作为不需要向控制器/过滤器添加代码的替代解决方案提供。
您可以阅读一些关于这个方法的信息:AngularJS模板中的if-else语句
- 更新了plnk。它显示原始(固定)解决方案和一个ng if。plnkr.co/edit/url7clbi6geqvyzoauahz?P=信息
- 在过滤器出现问题之后,这看起来是一种更简单的方法,它在表中正确地显示了数据。我正在更改已接受的答案。
1
2
3
4
5
6
7
8
9angular.module('myApp',[])
.filter('chkEmpty',function(){
return function(input){
if(angular.isString(input) && !(angular.equals(input,null) || angular.equals(input,'')))
return input;
else
return ' ';
};
});正如@donal所说,为了使这项工作正常进行,您需要使用
ngSanitize's 指令ng-bind-html ,如下所示:1<td class="licnum" ng-bind-html="participant.LicenseNumber | chkEmpty"></td>编辑:
下面是一个简单的例子:http://jsfiddle.net/mikeconroy/tpppb/
- 真的很奇怪,因为使用它实际上在细胞中显示了
"" ,它显示为空,从而导致行颜色出现问题。 ng-bind-html 应该将字符串解释为HTML,并适当地转换ngSanitize ,指令才能工作。- 如果我在声明中添加ngsantize,它会给我一个未捕获的对象错误。
- 忘了给我的包里加消毒剂了…
- 很高兴我能帮上忙,这确实是正确的方法——使用一个过滤器,尽管@lucuma发布的
ng-if 版本在我看来从长远来看不太可读,而且您可以反复使用过滤器,用于其他表单元格,而不是在模板中使用一堆可能的"td"标记。 - 虽然此代码正确地添加了
- 为了满足您的需要,您可能需要修改
if 语句,我只是假设它是一个字符串而不是空的。 - 下面是一个简单的例子:jsfiddle.net/mikeconroy/tpppb
- 它可以是字符串、整数或空值
- 即使更改if和单步执行以确保它到达
return input 行,它仍然不显示任何非空值。见原帖最后一张图片。
- AngularJS模板中的if else语句
- 为什么AngularJS在Select中包含空选项?
- 关于javascript:如何使用AngularJS绑定到复选框值列表?
- 如何在AngularJS中使用ng-repeat迭代键和值?
- 关于angularjs:何时支持ng-if vs.
- 关于html:当一个单元格悬停时,有没有办法在ng-repeat中添加一个类?
- 避免在angularJS中过滤一些结果
- 关于angularjs:UI网格cellTemplate editableCellTemplate不会失去焦点
- 关于javascript:Angular ng-show和ng-change显示和隐藏表格,具体取决于select中的用户选择
- 关于javascript:如何让ng-repeat中的子控制器一次加载一个?
- 关于html:迭代循环时的条件检查
- AngularJS模板中的if else语句
- 为什么AngularJS在Select中包含空选项?
- 关于javascript:如何使用AngularJS绑定到复选框值列表?
- 如何在AngularJS中使用ng-repeat迭代键和值?
- 关于angularjs:何时支持ng-if vs.
- 关于html:当一个单元格悬停时,有没有办法在ng-repeat中添加一个类?
- 避免在angularJS中过滤一些结果
- 关于angularjs:UI网格cellTemplate editableCellTemplate不会失去焦点
- 关于javascript:Angular ng-show和ng-change显示和隐藏表格,具体取决于select中的用户选择
- 关于javascript:如何让ng-repeat中的子控制器一次加载一个?
- 关于html:迭代循环时的条件检查
Copyright © 码农家园 联系:[email protected]