Угловая ошибка [$ interpolate: interr] для примененного фильтра

0

Привет У меня есть фильтр, который заменяет \n на \n\n, когда я использую этот фильтр для своих json-данных. Я получаю сообщение об ошибке. Can't interpolate: {{ post.description|nlToArray }} TypeError: Cannot read property 'replace' of undefined

Мой фильтр

sampleApp.filter('nlToArray', function() {
  return function(text) {
      return text.replace(/\n/g, '/\n\n');
  };
});

отображение данных, полученных из json api

HMTL

<p class="blog-post-title">{{ post.title }}</p>
<p class="blog-post-meta"><i class="fa fa-clock-o">&nbsp {{ post.pub_date|date  }}</i> </p>
<span style="white-space: pre-line">{{ post.description|nlToArray }}</span>
<br />

Мои данные json

[{"id":1,"title":"Israels desert city of Beersheba is turning into a cybertech oasis","description":"morphing into a tech oasis.\r\nThe militarys massive relocation of its prestigious technology units.\r\nBeersheba has all of the ingredients of a vibrant security technology ecosystem, \r\n"All in all, projections are that 20,000-30,000 \r\nThe commercial sector has teamed up  cyber attacks.","pub_date":"2016-03-20T10:48:19.394643Z"},{"id":2,"title":"These are testing times: mavericks vs. ice people","description":"One of my earliest engineering jobs, before I fled hardware in favor of the (relative). \r\nThe practice of engineering soon teaches one that, .\r\nSo what do we do? We practice defense in depth. We follow the robustness principle. We "always code as \r\n…Yeah, well, thats the idea. For my day job at HappyFunCorp I do a lot of interviews, and almost every junior develope.\r\nI dont necessarily blame them. You can make  go.","pub_date":"2016-03-20T10:50:07.965930Z"}]

Чтобы быть более понятным, описание в json выглядит так

morphing into a tech oasis.\r\nThe militarys massive relocation of its prestigious technology units.\r\nBeersheba has all of the ingredients of a vibrant security technology ecosystem, \r\n"All in all, projections are that 20,000-30,000 \r\nThe commercial sector has teamed up  cyber attacks.

Каким может быть возможное решение... Спасибо заранее

  • 0
    Что вы видите, если вы удалите фильтр? Т.е. просто попробуйте отобразить post.description как есть
  • 0
    Да, но я вставляю 2 новых символа строки .......... это делается с помощью фильтра ...... Если я удаляю фильтр, он работает нормально
Показать ещё 2 комментария
Теги:
angular-filters

1 ответ

1
Лучший ответ

Сделать код нулевым, заменив

sampleApp.filter('nlToArray', function() {
  return function(text) {
      return text.replace(/\n/g, '/\n\n');
  };
});

с

sampleApp.filter('nlToArray', function() {
  return function(text) {
      if (text) 
        return text.replace(/\n/g, '/\n\n');
      else
        return text;
  };
});
  • 0
    Спасибо Harpreet ............ вы решение работали ............
  • 0
    @Coeus Я не совсем уверен, почему это сработало. Я бы сказал, что по крайней мере одна из ваших записей данных не имеет свойства description
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню