Как динамически создать HTML-таблицу в качестве шаблона для отправки электронной почты (ng-repeat) - PullRequest
0 голосов
/ 10 мая 2018

В настоящее время я создаю шаблоны HTML и заменяю местозаполнитель {Title} соответствующими значениями перед отправкой «разобранный шаблон электронной почты» получателям, но проблема в том, что нет способа динамически генерировать «список данных» в таблице, прибегая к использованию angularjs ».ng-repeat ', но когда анализируется, он отправляет теги angularjs вместо генерации HTML-представления

Мой вопрос: как мне создать шаблон angularjs с помощью ng-repeat, который можно использовать для динамической отправки шаблонов электронной почты безнеобходимость загрузки страницы в браузере, потому что кажется, что страница angularjs переводится только при открытии в браузере

Как можно с помощью ng-repeat динамически генерировать HTML-теги, достаточно подходящие для отправки в виде сообщения электронной почты, спасибо

 {Title} Placeholder 

<table style="width:100%">
  <tr>
    <th>Firstname</th>
    <th>Lastname</th> 
    <th>Age</th>
  </tr>
  <tr>
    <td>Jill</td>
    <td>Smith</td> 
    <td>50</td>
  </tr>
  <tr>
    <td>Eve</td>
    <td>Jackson</td> 
    <td>94</td>
  </tr>
</table>

1 Ответ

0 голосов
/ 10 мая 2018

Это не возможно напрямую с angularjs, но поддерживается с angular 2+ (использование nodejs на сервере: https://angular.io/guide/universal).

У меня была такая же потребность, и я помню попытки добиться того, чего вы хотите, с помощью angularjs, работающего на сервере в Selena Webdriver, но я не смог найти полное и простое решение.

Вместо этого я скопировал свои шаблоны ng-repeat и преобразовал их в очень простые шаблоны бритвы asp.net, и я передаю свою модель json как dynamic ViewModel. Я знаю, что это не angularjs, но это хорошая серверная альтернатива, и вы тоже пометили c #. Пример шаблона:

@Model dynamic

<h4>@Model.Title</h4>
<table>
  <tr>
    <th>Firstname</th>
    <th>Lastname</th> 
    <th>Age</th>
  </tr>
  @foreach (dynamic x in Model.Students)
  {
  <tr>
    <td>@x.FirstName</td>
    <td>@x.LastName</td>
    <td>@x.Age</td>
  </tr>
  }
</table>

Вы можете использовать Nuget RazorEngine , чтобы помочь сгенерировать вывод: http://antaris.github.io/RazorEngine/

...