angular error:$ parse:ueoe几个表达式的意外结束表达式

时间:2015-10-19 16:26:14

标签: javascript angularjs

以下两个表达式抛出错误:

ng-click="vm.numOthersAttending++"
ng-click="vm.numOthersAttending = vm.numOthersAttending > 0 ? vm.numOthersAttending - 1 : 0"

我不能在ngClick中放任何表达式进行评估吗?

2 个答案:

答案 0 :(得分:1)

<div ng-click="vm.numOthersAttending = vm.numOthersAttending + 1">click</div>
<div ng-click="vm.numOthersAttending = (vm.numOthersAttending > 0) ? (vm.numOthersAttending - 1) : 0">click</div>

一般来说,最好使用功能。

答案 1 :(得分:1)

  

我不能在ngClick中放任何表达式进行评估吗?

没有任何表达。您可以放置​​角度表达式,即根据this guide的表达式:

  
      
  • 上下文:JavaScript表达式是针对全局窗口进行评估的。在Angular中,表达式是根据范围对象进行评估的。

  •   
  • 原谅:在JavaScript中,尝试评估未定义的属性会生成ReferenceError或TypeError。在Angular中,表达式求值是对undefined和null的宽容。

  •   
  • 无控制流语句:您不能在Angular表达式中使用以下内容:条件,循环或异常。

  •   
  • 无函数声明:即使在ng-init指令内,也无法在Angular表达式中声明函数。

  •   
  • 没有使用文字表示法创建RegExp:您无法在Angular表达式中创建正则表达式。

  •   
  • 无逗号和无效操作符:您不能在Angular表达式中使用或无效。

  •   
  • 过滤器:您可以在表达式中使用过滤器在显示数据之前格式化数据。

  •   

您不能使用控制流,但可以使用三元运算符。

您的错误来自该部分ng-click="numOthersAttending++"。这不受支持。