Angular2:关于模板中模板引用变量的重复声明

时间:2016-12-16 06:52:25

标签: angular angular2-template

我发现在模板中使用模板参考变量存在一些问题。

当我在如下所示的根级别上声明相同的模板引用变量时,运行时编译器会抛出错误。

示例>

 <input type="text" id="n-1" #myInput />
 <input type="text" id="n-2" #myInput />

但是,当重复的模板引用变量被声明为子节点时,则没有问题。

示例&gt;

 <div>
   <input type="text" id="n-1" #myInput />
   <input type="text" id="n-2" #myInput />
 </div>

以下是示例代码:https://embed.plnkr.co/kqTXfh/

我发现Angular Compiler会检查模板引用变量声明的重复。

这是复制检查功能代码:https://github.com/angular/angular/blob/master/modules/%40angular/compiler/src/template_parser/template_parser.ts#L179-L196

总之,我的问题是我可以在子节点中使用重复的模板引用变量吗?

这是预期的结果吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

很晚才回应。虽然有人回到这个页面,但想知道同样的事情。

根据官方文档,建议不要为模板引用变量指定相同名称,因为它会在运行时产生不一致的结果

https://angular.io/guide/template-syntax#template-reference-variable-warning-notes