Angular 运行多行代码的三元表达式

Angular ternary expression that runs more than one line of code

所以我有这个代码示例, 在我的一种形式中,它工作得很好。

ng-submit="
    commentCtrl.edit(comment.id, comment.text);
    comment.edit=false;
"

另一方面,当我尝试在三元 ng-keyup 中 运行 多个 "commands" 时,事情出错了,angular 无法解析它。

ng-keyup="
($event.keyCode == 13 && !$event.shiftKey)
?
commentCtrl.edit(comment.id, comment.text);comment.edit=false
:
return"

也尝试过:

($event.keyCode == 13 && !$event.shiftKey)
?
commentCtrl.edit(comment.id, comment.text) && comment.edit=false
:
return"

请帮帮我!

在标记中编写此类表达式是一种不好的做法。

无论如何,您可以通过将值放入数组来实现:

ng-submit="[commentCtrl.edit(comment.id, comment.text), comment.edit=false]"

ng-keyup="($event.keyCode == 13 && !$event.shiftKey)
? [commentCtrl.edit(comment.id, comment.text), comment.edit=false]
: 0"