Ошибка: $ interpolate: noconcat Несколько выражений

0

Можно ли добавлять ссылки с iframe с параметрами src в списках ul сгенерированных API?

Концентрация URL действительно. У меня есть API, предоставляющий данные, и я хочу показать его как список с iframes.

У меня есть этот шаблон кода:

(...)
var getTemplate = function(contentType) {
var  template = '<ul>'
            +'<li ng-repeat="li in item.list" class="[[li.class]]">'
            +'<iframe width="100%" height="300"'
            +'ng-src="https://myserver.com/?id=[[li.mydata]]"'
            +'</iframe>'
            +'</li></ul>';
        return template;
    };
(...)

интерполяция установлена на [[ и ]]

Безопасное SCE надежно

.config(function($sceDelegateProvider) {
  $sceDelegateProvider.resourceUrlWhitelist([
    'self',
    'https://myserver.com/**',
  ])
 })

При добавлении в шаблон <h4>[[li.mydata]]</h4> результат виден, но когда в iframe ng-src - сбой этой ошибки

https://docs.angularjs.org/error/$interpolate/noconcat?p0=

Любая идея или предложения, как это решить?

Теги:
templates
iframe

1 ответ

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

Я исправил проблему с

(...)
            +'<iframe width="100%" height="300"'
            +'ng-src="[[li.mydata | EmbedUrl ]]"'
(...)

Тогда в ng.js

  .filter('EmbedUrl', function ($sce) {
  return function(uId) {
    return $sce.trustAsResourceUrl('https://example.com/?id=' + uId  );
  };

Ещё вопросы

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