You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 23:57:20