单击后将html或模板加载到div中

时间:2018-07-02 15:09:13

标签: javascript html angular

我是Angular的新手,我有一个问题: 我有一个div ...,如果我们单击div,则会触发一个函数。该函数通过将输入数据与默认数据进行比较来验证输入数据后,会将模板加载到div中。 所以我的意思是

<div (click)="openTile(data.Salutation === Title.Sir) ? 'Tasks-details' : 'Todo-details';" >

其中Salutation是“数据”(构造函数的距离)的参数,而Title是枚举类(在此处的组件中导入)

有人可以通过openTile功能帮助我吗?

很多次

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解你。如果仅想在单击后根据某些条件显示不同的内容,则可以执行以下操作:

    @Component({
        template: `
    <div (click)="onClick(data.Salutation, Title.Sir)>
        <ng-container [ngTemplateOutlet]="isEqual ? task : todo"></ng-container>
    </div>
    <ng-template #task> if true </ng-template>
    <ng-template #todo> if false </ng-template>
`
    })
    class MyComponent {
        isEqual: boolean;
        onClick(salutation, sir) {
            this.isEqual = salutation === sir;
        }
    }