下面的兩個表達式引發錯誤的:
ng-click="vm.numOthersAttending++"
ng-click="vm.numOthersAttending = vm.numOthersAttending > 0 ? vm.numOthersAttending - 1 : 0"
我不能只是把任何表達的ngClick進行評估?
下面的兩個表達式引發錯誤的:
ng-click="vm.numOthersAttending++"
ng-click="vm.numOthersAttending = vm.numOthersAttending > 0 ? vm.numOthersAttending - 1 : 0"
我不能只是把任何表達的ngClick進行評估?
<div ng-click="vm.numOthersAttending = vm.numOthersAttending + 1">click</div>
<div ng-click="vm.numOthersAttending = (vm.numOthersAttending > 0) ? (vm.numOthersAttending - 1) : 0">click</div>
一般來說,最好使用函數。
Can't I just put any expression in an ngClick for evaluation?
沒有任何表達。你可以把一個角表達,即表達根據this guide:
Context: JavaScript expressions are evaluated against the global window. In Angular, expressions are evaluated against a scope object.
Forgiving: In JavaScript, trying to evaluate undefined properties generates ReferenceError or TypeError. In Angular, expression evaluation is forgiving to undefined and null.
No Control Flow Statements: You cannot use the following in an Angular expression: conditionals, loops, or exceptions.
No Function Declarations: You cannot declare functions in an Angular expression, even inside ng-init directive.
No RegExp Creation With Literal Notation: You cannot create regular expressions in an Angular expression.
No Comma And Void Operators: You cannot use , or void in an Angular expression.
Filters: You can use filters within expressions to format data before displaying it.
不能使用控制流,但可以使用三元運算符。
您的錯誤來自該部分ng-click="numOthersAttending++"
。這不支持。
嗯,你可以在此擴展?我傾向於遠離這些類型的內襯的功能,因爲它混亂了控制器。 – pQuestions123