在没有单击事件的情况下调用HTML中的TypeScript函数

时间:2016-07-14 17:06:59

标签: javascript html typescript angular

我知道如何在单击按钮时调用TypeScript,但是如何在没有该类型事件的情况下调用函数?当我有一个名为chartData的数组填充时,我想调用一个函数。这就是我所拥有的:

        <div *ngIf="chartData.length">
            chartMethod();
        </div>

但是不是调用chartMethod(),而是在html页面上打印'chartMethod()'。

我也试过了:

            <script> 
                chartTest();
            </script>

但该功能仍未调用。

3 个答案:

答案 0 :(得分:4)

之所以会发生这种情况,是因为此chartTest()已被Angular封装,无法在Angular之外访问。 但你可以在角度内,你只需要:

<div *ngIf="chartData.length">
    {{chartMethod()}}
</div>

但它会在html中添加一个undefined,所以只需测试

<div *ngIf="chartData.length">
    {{chartMethod() ? chartMethod() : ""}}
</div>

但我不认为它是html resposibillity调用任何方法,它需要由组件本身在打字稿中完成。

答案 1 :(得分:1)

Angular 2 , 您可以通过在 [ngClass] 中传递方法'checkFieldAccess()'来自动调用方法 在模板文件中写这个

 [ngClass]="{check:checkFieldAccess(dataPass)}"

答案 2 :(得分:0)

在您的component.ts中放置他的后继构造器

ngAfterViewInit(){
    this.getUser();//Put here your function or what you need
  } 
创建组件的视图及其子视图之后,将调用

ngAfterViewInit()。 它是一个生命周期挂钩,在完全初始化组件的视图之后将调用它。