@HostBinding on a member that is not an identifier ('my-prop') compiles to `ctx.my - ctx.prop`; ngtsc uses `this["my-prop"]`
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start by reading MemberHostBindings::of in directive/metadata.rs and compare its stored member name with ngtsc's getSafePropertyAccessString behavior described in the issue. Trace how that metadata becomes partial and full output, including the non-identifier example. Done means both output forms access my-prop as a property and identifier members such as m still work.
由索引模型根据 Issue 内容生成。
描述
Found while reviewing #682.
ngtsc's extractHostBindings stores a @HostBinding member as getSafePropertyAccessString("this", member.name) (compiler-cli chunk-G5LDCSK3.js:3435): "this.m", or this["my-prop"] for a name that is not an identifier. Oxc's MemberHostBindings::of (directive/metadata.rs:201) stores the bare member name ("m", "my-prop").
@Directive({ selector: '[d]' })
export class D {
@HostBinding('id') 'my-prop' = 1;
@HostBinding('title') m = 2;
}
| result | |
|---|---|
| ngtsc partial | properties: { "id": "this[\"my-prop\"]", "title": "this.m" } |
| Oxc partial | properties:{id:"my-prop",title:"m"} |
| Oxc full | ɵɵdomProperty("id", (ctx.my - ctx.prop))("title", ctx.m) — wrong: parsed as a subtraction |
For identifier names only the partial text differs (both link to ctx.m). For names that are not identifiers, both full and partial output read the wrong value. ngtsc emits ctx["my-prop"].
- 主要语言
- Rust
- 星标
- 245
- 派生
- 26
- 平均合并
- 1 天 42 分钟
- 30 天内合并 PR
- 83
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
voidzero-dev/oxc-angular-compiler 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 76/100
voidzero-dev/oxc-angular-compiler#686 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 35/100
voidzero-dev/oxc-angular-compiler#694 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 48/100
voidzero-dev/oxc-angular-compiler#693 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 48/100
voidzero-dev/oxc-angular-compiler#692 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 43/100
voidzero-dev/oxc-angular-compiler#691 ·
维护者通常 1 天内回复
查看 voidzero-dev/oxc-angular-compiler 的全部 Issue
相似的 Issue
-
bug good first issue help wanted linux macos testing
难度 2/5 1-3 小时 新手友好度 85/100
维护者通常 1 天内回复
-
area: app type: test
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
bug priority: medium
难度 2/5 1-3 小时 新手友好度 78/100
storytold/photocraft#12706 · 1 条评论 ·
维护者通常 1 天内回复
-
bug priority-low to-agent
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
examples/dca and limit-order: swap always fails on the real Soroswap router (deadline equals now)未关闭
难度 2/5 1-3 小时 新手友好度 76/100
sorocon-labs/sorocron#172 ·
维护者通常 1 天内回复