Javascript ng中的If/Else语句单击

Javascript ng中的If/Else语句单击,javascript,angularjs,Javascript,Angularjs,我正在尝试在我的ng click函数中创建条件语句。我的if功能正常,但现在我需要弄清楚如何获得else。我目前有以下代码: <div ng-click="item.subCategory.length > 1 && showSubCategories();"> 是否可以在ng单击中执行此操作 一种更简洁的方法是创建一个包装器函数(显然,只要对您有意义,就给它命名)。这使逻辑保持在一个位置,并且可以很好地扩展(当您需要更多检查时会发生什么情况?) 然后在视图中

我正在尝试在我的
ng click
函数中创建条件语句。我的
if
功能正常,但现在我需要弄清楚如何获得
else
。我目前有以下代码:

<div ng-click="item.subCategory.length > 1 && showSubCategories();">

是否可以在
ng单击中执行此操作

一种更简洁的方法是创建一个包装器函数(显然,只要对您有意义,就给它命名)。这使逻辑保持在一个位置,并且可以很好地扩展(当您需要更多检查时会发生什么情况?)

然后在视图中:

<div ng-click="showSubCategoriesOrProducts(item)">

是。三元运算符可用于单击:

<div ng-click="item.subCategory.length > 1 ? showSubCategories() : showProducts()">

这应该可以让你做你想做的事。

HTML:

<div ng-click="onClick(item);">
我希望这能奏效

ng-click="item.subCategory.length > 1? showSubCategories() : showProducts()" .

这里,“?”前面的部分是条件。如果为真,将执行“?”之后的部分,即showSubCategories()。如果条件为false,则将执行后者

是否尝试将整个If/else块写入
ngClick
?我会假设它会正确地插值,或者只是在函数中加入检查itself@zero298我希望能有一个速记的方法it@aw04我认为这超出了范围,因为
item
指的是我在该元素的容器上的
ng repeat
。您在中尝试过三元运算符吗有吗?我建议使用这种方法。尽量避免混淆你的观点。在你的控制器中尽可能多地保持逻辑。哈,他从他的原稿中编辑了我的答案(见下文)@zero298@WilliamHampshire呵呵?我的原始答案是相同的解决方案,编辑只是为了添加单词/细节
<div ng-click="onClick(item);">
$scope.onClick = function(item) {
  if (item.subCategory.length > 1) {
    showSubCategories();
  }
  else {
    showProducts();
  }
}
ng-click="item.subCategory.length > 1? showSubCategories() : showProducts()" .