Ng-Switch 无法正常使用 String.length - AngularJS

Ng-Switch not Working properly with String.length - AngularJS

我正在开发一个商店应用程序,我需要根据响应显示 2 个不同的字符串。

如果我收到没有项目标题的回复,我需要显示 "No Item Title Found",否则,我需要显示项目的标题,限制在一定数量的字符内。

这是我的代码:

<div ng-switch on="item.title">
  <div ng-switch-when="!item.title.length">
    <p class="prod-title cursor-pointer" 
       ng-click="searchCtrl.openItemTab(item,event)">
         {{ item.title = 'Title Not Found'}}</p>
  </div>
  <div ng-switch-default>
    <p class="prod-title cursor-pointer" 
       ng-click="searchCtrl.openItemTab(item,event)">
         {{ item.title | limitTo:60 }}</p>
  </div>
</div>

当长度大于 0 时,我可以看到项目标题,但是,当长度等于 0 时,我无法看到 "No Item Title Found"。

有什么建议吗?提前致谢。

当您没有可用的标题时,使用 ng-if 指令显示 'Title not found'。

<p ng-if='!item.title' class="prod-title cursor-pointer" ng-click="searchCtrl.openItemTab(item,event)">
         Title Not Found
</p>

<p ng-if='item.title' class="prod-title cursor-pointer" ng-click="searchCtrl.openItemTab(item,event)">
             {{item.title}}
    </p>

使ng-switch像:

<div ng-switch on="item.title.length">
    <div ng-switch-when="0">

目前你所拥有的意思
if item.title (expression) equals true (!item.title.length == item.title) enter the first block
在任何其他情况下输入第二个。

Plunker