X Tutup
The Wayback Machine - https://web.archive.org/web/20220610044714/https://github.com/angular/angular/pull/46068
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(core): produce proper error message for unknown props on <ng-template>s #46068

Closed

Conversation

AndrewKushnir
Copy link
Contributor

@AndrewKushnir AndrewKushnir commented May 20, 2022

Currently for cases when an unknown structural directive is applied to <ng-template>s, an error message thrown by the framework doesn't contain a tag name, for example:

NG0303: Can't bind to 'unknownDir' since it isn't a known property of 'null'.

The underlying reason is that the tag name for the <ng-template> is not produced (null is used as a value) by the compiler in case of inline templates and runtime logic relies on this effect.

This commit handles this situation when an error message is thrown, as the fastest way to improve the error message. More refactoring would be needed to avoid relying on the mentioned effect at runtime.

PR Type

What kind of change does this PR introduce?

  • Bugfix

Does this PR introduce a breaking change?

  • Yes
  • No

@AndrewKushnir AndrewKushnir added action: review comp: core target: patch labels May 20, 2022
@ngbot ngbot bot added this to the Backlog milestone May 20, 2022
@AndrewKushnir AndrewKushnir force-pushed the ng-template-unknown-props branch from 85c576d to c681ba5 Compare May 20, 2022
@pkozlowski-opensource pkozlowski-opensource added the cross-cutting: standalone label May 20, 2022
Copy link
Member

@pkozlowski-opensource pkozlowski-opensource left a comment

LGTM, just left a couple of nit comments, feel free to ignore.

…plate>`s

Currently for cases when an unknown structural directive is applied to `<ng-template>`s, an error message thrown by the framework doesn't contain a tag name, for example:

```
NG0303: Can't bind to 'unknownDir' since it isn't a known property of 'null'.
```

The underlying reason is that the tag name for the `<ng-template>` is not produced (`null` is useed as a value) by the compiler in case of inline templates and runtime logic relies on this effect.

This commit handles this situation when an error message is thrown, as the fastest way to improve the error message. More refactoring would be needed to avoid relying on the mentioned effect at runtime.
@AndrewKushnir AndrewKushnir force-pushed the ng-template-unknown-props branch from c681ba5 to ca1f1e1 Compare May 21, 2022
@AndrewKushnir AndrewKushnir added action: presubmit and removed action: cleanup labels May 21, 2022
@AndrewKushnir
Copy link
Contributor Author

@AndrewKushnir AndrewKushnir commented May 21, 2022

@AndrewKushnir AndrewKushnir added action: merge and removed action: presubmit labels May 21, 2022
@alxhub alxhub added target: rc and removed target: patch labels May 23, 2022
@alxhub
Copy link
Contributor

@alxhub alxhub commented May 23, 2022

This PR was merged into the repository by commit 985f8d7.

alxhub pushed a commit that referenced this issue May 23, 2022
…plate>`s (#46068)

Currently for cases when an unknown structural directive is applied to `<ng-template>`s, an error message thrown by the framework doesn't contain a tag name, for example:

```
NG0303: Can't bind to 'unknownDir' since it isn't a known property of 'null'.
```

The underlying reason is that the tag name for the `<ng-template>` is not produced (`null` is useed as a value) by the compiler in case of inline templates and runtime logic relies on this effect.

This commit handles this situation when an error message is thrown, as the fastest way to improve the error message. More refactoring would be needed to avoid relying on the mentioned effect at runtime.

PR Close #46068
josephperrott pushed a commit to josephperrott/angular that referenced this issue May 24, 2022
…plate>`s (angular#46068)

Currently for cases when an unknown structural directive is applied to `<ng-template>`s, an error message thrown by the framework doesn't contain a tag name, for example:

```
NG0303: Can't bind to 'unknownDir' since it isn't a known property of 'null'.
```

The underlying reason is that the tag name for the `<ng-template>` is not produced (`null` is useed as a value) by the compiler in case of inline templates and runtime logic relies on this effect.

This commit handles this situation when an error message is thrown, as the fastest way to improve the error message. More refactoring would be needed to avoid relying on the mentioned effect at runtime.

PR Close angular#46068
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
action: merge comp: core cross-cutting: standalone target: rc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants
X Tutup