我正在尝试在ng-click
函数中创建一个条件语句。我有if
工作,但现在我需要弄清楚如何获得else
。我目前有以下代码:
<div ng-click="item.subCategory.length > 1 && showSubCategories();">
如果某个类别中有超过1个子类别,则会运行一个显示我的子类别的函数。我想要做的是扩展它,这样如果只有一个子类别,我可以运行不同的功能。
在Javascript中,语句如下所示:
if (item.subCategory.length > 1) {
showSubCategories();
} else {
showProducts();
}
是否可以在ng-click
内完成?
答案 0 :(得分:2)
是。三元运算符可用于ng-click:
<div ng-click="item.subCategory.length > 1 ? showSubCategories() : showProducts()">
这应该让你做你想做的事。
答案 1 :(得分:1)
更简洁的方法是创建一个包装函数(显然将它命名为对你有意义的任何东西)。这可以将逻辑保存在一个地方并且也可以很好地扩展(当您需要更多检查时会发生什么?)
showSubCategoriesOrProducts(item) {
if (item.subCategory.length > 1) {
showSubCategories();
} else {
showProducts();
}
}
然后在视图中:
<div ng-click="showSubCategoriesOrProducts(item)">
答案 2 :(得分:1)
HTML:
<div ng-click="onClick(item);">
的JavaScript
$scope.onClick = function(item) {
if (item.subCategory.length > 1) {
showSubCategories();
}
else {
showProducts();
}
}
答案 3 :(得分:1)
我希望这会起作用
ng-click="item.subCategory.length > 1? showSubCategories() : showProducts()" .
这里,“之前的部分?”是条件。如果是,则执行“?”之后的部分,即 showSubCategories()。如果条件为假,则执行后者