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()" .