繁体   English   中英

Angular中模板引用变量的scope是什么?

[英]What is the scope of the template reference variable in Angular?

Angular中模板引用变量的scope是什么?

我在文档中找不到我的问题的明确答案。 尽管凭经验我可以说整个模板都可以访问模板引用变量。

1是这样吗? 模板引用变量是否保证可以在整个模板中访问?

2或者模板引用变量只能在模板引用变量引用的元素的子元素和兄弟元素中访问?

这里,我发现了以下声明:

使用模板变量引用元素 — newHero模板变量引用<input>元素。 您可以从<input>元素的任何同级或子级引用newHero

是不是说Angular只保证2个?

只要 DOM 中存在相应的元素,就可以从模板中的任何位置访问模板引用变量。

例如。 如果<ng-template>元素内的模板引用变量尚未呈现,则您无法访问它。

<ng-template #templateOne let-message let-showAdditional="show">
  <div #templateDiv>
    One <br />
  </div>
</ng-template>

<ng-container *ngIf="templateDiv">
  Got template div
</ng-container>

这里Angular会抛出错误

“SomeComponent”类型上不存在属性“templateDiv”。

因为变量引用的元素在 DOM 中不存在。


关于你的第2点。

您可以从元素的任何同级或子级引用newHero

他们指的是具体的教程。 注意没有说

只能 从元素的任何同级或子级引用newHero

如此所述:

您可以在组件模板中的任何位置引用模板引用变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM