我正在尝试使用开关来控制一些图像url参数。我的image.marketplace
节点是image.url.indexOf('?')
,如果网址中存在问号,则评估为-1
或正整数。我可以让我的表达式(ng-switch on="{image.marketplace == -1}"
)正确评估,但它不会触发正确的“when”条件。有关为什么的任何想法?
<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>
答案 0 :(得分: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;
}
此外,它还可以帮助您对此功能进行单元测试。