如何在模板中调用服务方法来创建动态表或其他应该是动态HTML的东西?我尝试使用{{anyservice.getDynamicTable(param)}}
的双卷曲括号,但这不起作用。有什么方法可以正确地做到这一点?
答案 0 :(得分:1)
组件内定义的函数。
<button (click)="methodName()">Label</button>
<select (change)="methodName()"></select>
与Angular1不同,您需要使用预定义的指令(如ng-click
来绑定这些函数),在Angular2中,您可以将此语法与所有本机JavaScript事件一起使用。
修改强>
如果您有迭代或动态生成的数据:
<ul>
<li *ngFor="let item of items; let i = index">
<button (click)="methodName1(i)">Label</button>
<button (click)="methodName2(item)">Label</button>
</li>
</ul>
如您所见,您可以传递数字,字符串,布尔值甚至整个对象。
答案 1 :(得分:1)
您应该准备要在控制器中显示的数据。
这意味着你应该
例如
dynamicTable: any;
ngOnInit() {
this.dynamicTable = this.anyservice.getDynamicTable();
}
或使用param
createDynamicTable(param) {
this.dynamicTable = this.anyservice.getDynamicTable(param);
}