ns-binding-expressions

Installation
SKILL.md

Binding expressions: allow-list, two-way default, write-back hazard

What you may write inside {{ }}

Expressions are parsed with a real JS parser against an allow-list of node types: array/object literals, template literals, member access (incl. optional chaining), calls, new, ternaries, unary + - ! void typeof, arithmetic/comparison operators, and logical && || ??.

Not allowed (throws Invalid expression syntax): arrow functions, function expressions, assignments, ++/--, await, comma sequences. {{ items.filter(i => i.done) }} fails — compute it in the view model and bind the result.

Special keys: $value (the whole binding context — the implicit source for bare expressions), $parent (one level up), $parents['StackLayout'] / $parents[0] (ancestor View by class name or depth — a view lookup, not a data lookup).

| is the converter pipe, never bitwise-or:

<Label text="{{ createdAt | dateConverter('DD.MM.YYYY') }}" />
Installs
19
GitHub Stars
1
First Seen
Aug 28, 2026
ns-binding-expressions — nativescript/skills