Angular 2是否应在组件ts中声明仅在模板中使用的变量?

时间:2017-10-27 11:59:55

标签: angular

在下面的示例中,首先隐藏输入,然后用户按下按钮,按钮可见。 应该在组件typescript文件中声明变量showInput吗? 从功能的角度来看,我知道它不需要,因为如果showInput是组件的属性,下面的示例将起作用。

@Component({
   selector: 'example',
   template: '
         <button (click)="showInput = !showInput">Show input</button>
         <input *ngIf="showInput" type="text">
   '
})
export class Example{}

2 个答案:

答案 0 :(得分:2)

如果您打算使用Ahead of Time compilation(您应该用于生产版本,因为它会生成更小的包),您应该声明它们。

使用AoT时,您的示例将无法编译并显示错误

  

Property&#39; showInput&#39;类型&#39;示例&#39;。

上不存在

答案 1 :(得分:0)

我会在组件ts中声明它。如果在将来,程序员需要通过在按钮打开之前或之后执行某些操作来附加功能,或者创建决定是否应该显示按钮的条件,那么他将不得不首先找到该模板变量然后重写一堆代码。在component.ts文件

中执行此操作要好得多