Выделите текст в соответствии с текстом в Angular - PullRequest
0 голосов
/ 22 марта 2019

файл customer.json JSON файл

customer.service.ts

service.ts

userdetails.component.ts

userdeatils.component.ts 1 userdetails.component.ts 2

userdetails.component.html HTML-файл

поэтому, пожалуйста, я просто хочу сравнить массив добрых слов и плохих слов с файлом предложений json, найти добрые слова и плохие слова в предложении и выделить слово в соответствии с тем, является ли оно добрым словом, затем оно выделяется зеленым фоном, а плохое - красным фон.

1 Ответ

1 голос
/ 23 марта 2019

Вместо большого количества отрицательных отзывов по этому вопросу, я здесь, чтобы дать вам ответ.

Stackblitz Демо здесь

Компонент

Не забудьте сделать все слова в нижнем регистре в массиве goodWords и badWords

 obj = {
    customer: [
      {
        threshold: 80,
        sentence: 'Agent : Thank you for calling ABC company. My name is Ashley. How may I help you today?'
      },
      {
        threshold: 40,
        sentence: 'Customer : I am calling because I recieved a wrong bill. I just paid my phone bill two days ago.'
      },
    ]
  };
  goodWords = ['thank', 'you', 'help', 'sorry', 'please'];
  badWords = ['wrong', 'our', 'last', 'my'];

HTML

<div *ngFor="let item of obj.customer">
    <span *ngFor="let word of item.sentence.split(' ')">

    <span *ngIf="goodWords && goodWords.indexOf(word.trim().toLowerCase()) > -1; else redWord">
      &nbsp;<span style="color: green">{{word}}</span>
    </span>

    <ng-template #redWord>      
      <span *ngIf="badWords && badWords.indexOf(word.trim().toLowerCase()) > -1; else other" style="color: red">
        {{word}}
      </span>
    </ng-template>

    <ng-template #other>
      {{word}}
    </ng-template>
  </span>
   <br><br>
</div>

Итак, я обработал все вещи в самом HTML.Надеюсь, это сработает для вас.

...