在Angular2中完成ajax请求后加载HtmlTemplate

时间:2018-01-11 10:39:08

标签: angular angular2-template

我目前在Angular2工作,我对angular2的某些方面一无所知,所以我的问题是我使用jquery和html,我曾经使用HTML模板加载html模板以响应jquery ajax然后追加模板视图,现在如何在Angular2中实现相同的功能。我的情况是,我有一个打字稿类,它有一个关联的html页面,它处理一个复选onChange事件,并且在该事件的成功响应中我想将HTML附加到当前元素。

  • 如何创建动态模板。
  • 如何使用我之前创建的typescript类中的处理程序将事件绑定到动态创建的模板。
  • 如何在当前的html元素下呈现它。

1 个答案:

答案 0 :(得分:0)

在Jquery中,您可以使用javascript将您想要的任何响应附加到DOM。在angular2中,它的工作方式略有不同 - 您的HTML本身会响应代码的打字稿方面的更改。所以在你的例子中,这将是这样的:

<html>
<div id='checkboxList'>
<span> Please check here for change </span>
  <input type="checkbox" (click)="toggleCheck($event)" />
<div *ngIf='response'>{{response}}</div>
</div>
</html>

并在您的组件中链接到此html:

response = null;
 toggleCheck(event)
    {
        this.MyService.getGridData(parameters).subscribe(
            result => {
              this.response = result;
            }
        );
    }

因此,就HTML中的动态模板而言,这是{{}}的用途 - 它们链接到打字稿中的变量,当它被填充时(当您订阅时)它将显示在HTML中。