角度三元表达式,运行多行代码

时间:2015-07-17 13:28:16

标签: javascript angularjs ternary-operator

所以我有这个代码示例, 在我的一种形式中,它完美地运作。

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
:
return"

也尝试过:

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

1 个答案:

答案 0 :(得分:1)

在标记内部编写这样的表达式是一种不好的做法。

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

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"