Skip to content

refactor(compiler): distinguish two-way bindings in the AST#54065

Closed
crisbeto wants to merge 1 commit intoangular:mainfrom
crisbeto:two-way-ast
Closed

refactor(compiler): distinguish two-way bindings in the AST#54065
crisbeto wants to merge 1 commit intoangular:mainfrom
crisbeto:two-way-ast

Conversation

@crisbeto
Copy link
Copy Markdown
Member

During the template parsing stage two-way bindings are split up into a property and event binding. All the downstream code treats these binding the same as their one-way equivalents. For some future work we'll have to distinguish between the two so these changes update the BoundElementProperty.type and ParsedEvent.type to include a TwoWay type. All existing call-sites have been updated to treat TwoWay the same as Property/Regular, but more specialized logic will be added in the future.

During the template parsing stage two-way bindings are split up into a property and event binding. All the downstream code treats these binding the same as their one-way equivalents. For some future work we'll have to distinguish between the two so these changes update the `BoundElementProperty.type` and `ParsedEvent.type` to include a `TwoWay` type. All existing call-sites have been updated to treat `TwoWay` the same as `Property`/`Regular`, but more specialized logic will be added in the future.
@crisbeto crisbeto added action: review The PR is still awaiting reviews from at least one requested reviewer target: patch This PR is targeted for the next patch release area: compiler Issues related to `ngc`, Angular's template compiler labels Jan 25, 2024
@ngbot ngbot bot added this to the Backlog milestone Jan 25, 2024
@crisbeto crisbeto marked this pull request as ready for review January 25, 2024 09:40
@crisbeto crisbeto requested a review from devversion January 25, 2024 09:44
Copy link
Copy Markdown
Member

@devversion devversion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wish we could have a whole new AST object for two way bindings that captures both inputs/outputs, but that is likely impractical.

@crisbeto crisbeto added action: merge The PR is ready for merge by the caretaker and removed action: review The PR is still awaiting reviews from at least one requested reviewer labels Jan 25, 2024
jessicajaniuk pushed a commit that referenced this pull request Jan 25, 2024
During the template parsing stage two-way bindings are split up into a property and event binding. All the downstream code treats these binding the same as their one-way equivalents. For some future work we'll have to distinguish between the two so these changes update the `BoundElementProperty.type` and `ParsedEvent.type` to include a `TwoWay` type. All existing call-sites have been updated to treat `TwoWay` the same as `Property`/`Regular`, but more specialized logic will be added in the future.

PR Close #54065
@jessicajaniuk
Copy link
Copy Markdown
Contributor

This PR was merged into the repository by commit 93188cb.

rlmestre pushed a commit to rlmestre/angular that referenced this pull request Jan 26, 2024
…54065)

During the template parsing stage two-way bindings are split up into a property and event binding. All the downstream code treats these binding the same as their one-way equivalents. For some future work we'll have to distinguish between the two so these changes update the `BoundElementProperty.type` and `ParsedEvent.type` to include a `TwoWay` type. All existing call-sites have been updated to treat `TwoWay` the same as `Property`/`Regular`, but more specialized logic will be added in the future.

PR Close angular#54065
amilamen pushed a commit to amilamen/angular that referenced this pull request Jan 26, 2024
…54065)

During the template parsing stage two-way bindings are split up into a property and event binding. All the downstream code treats these binding the same as their one-way equivalents. For some future work we'll have to distinguish between the two so these changes update the `BoundElementProperty.type` and `ParsedEvent.type` to include a `TwoWay` type. All existing call-sites have been updated to treat `TwoWay` the same as `Property`/`Regular`, but more specialized logic will be added in the future.

PR Close angular#54065
nikvarma pushed a commit to nikvarma/angular that referenced this pull request Jan 31, 2024
…54065)

During the template parsing stage two-way bindings are split up into a property and event binding. All the downstream code treats these binding the same as their one-way equivalents. For some future work we'll have to distinguish between the two so these changes update the `BoundElementProperty.type` and `ParsedEvent.type` to include a `TwoWay` type. All existing call-sites have been updated to treat `TwoWay` the same as `Property`/`Regular`, but more specialized logic will be added in the future.

PR Close angular#54065
@angular-automatic-lock-bot
Copy link
Copy Markdown

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Feb 25, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

action: merge The PR is ready for merge by the caretaker area: compiler Issues related to `ngc`, Angular's template compiler target: patch This PR is targeted for the next patch release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants