2

我正在尝试使用开关来控制一些图像 url 参数。我的image.marketplace节点是 aimage.url.indexOf('?')并且-1如果 url 中存在问号,则计算结果为正整数或正整数。我可以让我的表达式 ( ng-switch on="{image.marketplace == -1}") 正确评估,但它不会触发正确的“何时”条件。关于为什么的任何想法?

<span ng-switch on="{image.marketplace == -1}">
  <img ng-switch-when="true"  ng-src="{{image.value}}?wid=100&hei=100">
  <img ng-switch-when="false" ng-src="{{image.value}}&wid=100&hei=100">
  <img ng-switch-default      ng-src="{{image.value}}">
</span>
4

1 回答 1

3

ngSwitchOn指令不需要大括号,如文档所示。做这样的事情可能是一个更好的主意:

<span ng-switch on="isMarketplaced(image)">
  <img ng-switch-when="true"  ng-src="{{image.value}}?wid=100&hei=100">
  <img ng-switch-when="false" ng-src="{{image.value}}&wid=100&hei=100">
  <img ng-switch-default      ng-src="{{image.value}}">
</span>

在控制器中:

$scope.isMarketplaced = function (image)
{
    return image.marketplace == -1;
}

此外,它将帮助您对此功能进行单元测试。

于 2013-05-24T22:18:49.490 回答