如何根据响应ID绑定html标签?

时间:2019-03-27 13:28:56

标签: javascript html angular innerhtml

我从后端收到这样的响应: `

{ 
"data" :
        [
 {            
            "questionTypeId": 1,
            "label" : 'Hello John',
 },
 {            
            "questionTypeId": 2,
            "label" : 'Hello John',
 },
{            
            "questionTypeId": 6,
            "label" : 'guided=true',
 },
{            
            "questionTypeId": 6,
            "label" : 'Follow',
 },
{            
            "questionTypeId": 6,
            "label" : 'create',
 },
{            
            "questionTypeId": 1,
            "label" : 'Hello Ria',
 },
{            
            "questionTypeId": 2,
            "label" : 'Thanks',
 },
{            
            "questionTypeId": 6,
            "label" : 'dear',
 },
{            
            "questionTypeId": 6,
            "label" : 'Mary',
 },
]
}

`

现在,基于questionTypeId,我必须将相应的标签绑定到html标签。

假设它是questionTypeId = 1,那么我需要将该标签绑定到HTML中的<h1>标签。 等等,

我的问题是 当我的questionTypeId = 6时,它代表<li>标签 我必须将其绑定到标签 而且我只需要将questionTypeId = 6的连续标签绑定到<li>标签

即第6个元素,当questionTypeId变为1时,它应该是</ul>标签的结尾。

在HTM1中, 我保持住

<div [innerHtml]="consentHtml">
      </div>

和我的.ts文件

h1Header = `<h1 class="u-space-top--5 u-text-light">{0}</h1>`;
h5Header = `<h5>{0}</h5>`;
consentHtml = ``;

然后在for循环中,我保持switch语句将其绑定到html

switch (response.data[i].questionTypeId) {
            case 1:
              const b = this.h1Header.replace('{0}', response.data[i].value);
              this.consentHtml += b;
              break;
            case 2:
              const a = this.h5Header.replace('{0}', response.data[i].value);
              this.consentHtml += a;
              break;
          }

对于h1和h5标签,它工作正常, 但我不了解如何绑定<ul><li>标签

请问有人可以帮我吗?

0 个答案:

没有答案