Какова грамматика выражений, разрешенных в усах AngularDart {{...}}
и других директивах?
Грамматика выражения директивы AngularDart для усов и других директив
comment
Это ограниченное подмножество выражений Dart. У него также есть некоторые отклонения, такие как обработка нулей. Я понятия не имею, есть ли документация.
- person Günter Zöchbauer   schedule 01.02.2014
Ответы (1)
Вот грамматика EBNF для выражений AngularDart в том же обозначение, используемое в Спецификации языка программирования Dart а>. Эти выражения могут выступать в качестве аргументов директив Angular. Хотя грамматика допускает, например, список разделенных точкой с запятой выражений, присваиваний и условных выражений, они не будут приняты всеми директивами — например, 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 (хотя мне придется это перепроверить). здесь находится более красиво оформленная версия приведенного выше не удалось заставить доктора медицины сотрудничать).
person
Patrice Chalin
schedule
13.03.2014