Angular ng-switch-when不显示求助:第二个条件无法触发
ng-switch第二个条件无法触发的问题解决
问题根源
你的ng-switch-when使用了插值语法{{}},这是错误用法。ng-switch-when不支持插值,它会把带{{}}的内容当成字符串字面量去匹配,而非执行SearchDS.maxPages()获取动态数值,因此永远无法触发该条件。
修正方案
- 移除
ng-switch-when中的插值语法,直接写表达式:将ng-switch-when="{{SearchDS.maxPages()}}"改为ng-switch-when="SearchDS.maxPages()" - 确保匹配值类型一致:
ng-switch使用严格相等(===)匹配,需保证SearchDS.pagingOptions.currentPage和SearchDS.maxPages()的返回值类型相同(比如都是数字或都是字符串)。如果类型不一致,可在ng-switch中做类型转换,例如:<div ng-switch="Number(SearchDS.pagingOptions.currentPage)">
修正后的完整代码
<div> <div ng-switch="SearchDS.pagingOptions.currentPage"> <p ng-switch-when="1">1</p> <p ng-switch-when="SearchDS.maxPages()">2</p> <p ng-switch-default>3</p> </div> </div>
内容的提问来源于stack exchange,提问作者user3685388
相关产品推荐
相关产品推荐

