【发布时间】:2017-11-14 22:52:25
【问题描述】:
我有两个组件,父组件和注册组件。
ParentComponent.html 看起来像:
<div class="tab-content">
<div class="tab-pane" id="signup" (click)="getChild()">
<register></register> --//register component
</div>
</div>
register.component.ts 看起来像:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'register',
templateUrl: '../templates/register.html'
})
export class RegisterComponent implements OnInit {
ngOnInit() {
this.registerService.getRoleList()
.subscribe(res => {
if(res.data){
this.instRoleList = res.data.roleList;
}
});
/* ngOnInit calls a service from which data is received and certain
conditions are met. I want this service to go only when getDetails() is called and <register> should get append to <div id="signup>
*/
}
}
register.html 代码 sn-p 看起来像:(它取决于从注册服务数据“”接收到的数据)
<div class="form-group group" *ngIf="instRoleList">
</div>
所以,我希望在单击 getChild() 时,将注册组件附加到 <div id="signup">
如何做到这一点?
<div class="tab-pane" id="signup" (click)="getChild()">
<!-- register component to append here on getChild() click -->
</div>
我已经用过下面的代码,但是没有用。
$('#signup').append('<register></register>')
【问题讨论】:
-
*ngIf听起来像你要找的东西。 -
一个简单的布尔标志可能会做吗?类似:
<register *ngIf="some condition"></register> -
如果你想使用 Angular -_- 就停止思考 jQuery!
-
您甚至可以使用
<router-outlet></router-outlet>和更多代码进行路由 -
但我也不希望调用 register.component.ts 中的 ngOnInit() 中的服务
标签: jquery angular angular2-template angular2-directives