AngularDart mustaches{{...}}
和其他指令中允许的表达式语法是什么?
问问题
396 次
1 回答
2
这是 AngularDart 表达式的 EBNF 语法,与Dart 编程语言规范中使用的符号相同。这些表达式可以作为 Angular 指令的参数出现。虽然语法允许,例如,用分号分隔的表达式、赋值和条件列表,但并非所有指令都接受这些——例如,支持可能带有赋值的多个表达式,而 mustache 指令需要一个表达式。ng-click
{{...}}
expressions: expression (';' expressions)?
expression:
literal
| id args? # variable or function
| expression '.' id args? # member
| expression '|' id filterArg* # filter
| expression '[' expression ']'
| preOp expression
| expression binOp expression
| expression '?' expression ':' expression
| expression '=' expression # assignment
args: '(' expressionList? ')'
filterArg: ':' expression
expressionList: expression (',' expression)?
literal:
'null'
| stringLiteral
| numberLiteral
| boolLiteral
| '[' expressionList? ']'
| '{' (keyValuePair (',' keyValuePair)? )? '}'
keyValuePair:
expression ':' expression
preOp 和 binOp 主要是 Dart 支持的(尽管我将不得不交叉检查)。这里有一个格式更好的上述版本(我无法让 MD 合作)。
于 2014-03-13T04:16:03.860 回答