2014-02-09 2 views
1

Вопрос: Есть ли ошибка в угловом ремешке? Или я неправильно понимаю, как работает Angular, и это ожидается?подсказка с угловым ремешком не работает в ng-repeat

I've created a plunker to demonstrate the behavior.

Что я хочу: Я хочу показать другую подсказку для каждого элемента в ng-repeat.

Поведение Я вижу: При определенных условиях содержимое всплывающей подсказки неправильно помещено в шаблон содержимого. Таким образом, вы видите только шаблон, а не шаблон контента или сам контент.

Условия:

  • Когда страница загружается первый, то всплывающие подсказки работают, как ожидалось.
  • Когда элемент добавлен в ng-repeat, его всплывающая подсказка не заполняет раздел содержимого шаблона.
  • Если страница начинается с нулевых элементов в ng-repeat, всплывающая подсказка в в начале добавленный элемент будет работать, как ожидалось. Элементы, добавленные после этого, покажут проблему.
  • Независимо от количества элементов, с которых начинается ng-repeat, любое удаление любого элемента из него сделает все элементы, добавленные в будущем, не будет иметь рабочих всплывающих подсказок.

Мысли: Если я варю его вниз, «первая нагрузка» отлично работает. После этого это не так. Я предполагаю, что происходит то, что после первого раунда добавления элементов в ng-repeat происходит этап компиляции. В этот момент код подсказки с угловым ремешком видит атрибуты директивы и устанавливает эти всплывающие подсказки и шаблон содержимого. Последующие изменения ng-repeat упускаются угловым ремешком (хотя я вижу на консоли, что вызов от bs-popover=tooltip(item) действительно запускается каждый раз, когда обновляется список ng-repeat). Но я все еще в тупике и задаюсь вопросом, так ли это поведение, которое я могу обойти.

Как разрешить динамические подсказки в элементах, добавленных в ng-repeat?

+0

это похоже на работу (_popover.html) ''

{{content}}
То есть с помощью {{}} вместо 'нг-безвыходном '... совершенно странно – calebboyd

+0

Пожалуйста, добавьте это как ответ. Однако этот метод обходит шаблон контента. Обратите внимание на то, что раздел «Вот где поместить динамический поиск» (синий текст) не существует при использовании '{{content}}' В любом случае, я хотел бы знать, что происходит, и если это стоит к угловому ремню. –

ответ

1

Это похоже на работу в _popover.html

<div class="popover-content">{{content}}</div>

То есть использование {{ }} вместо нг-затруднительное ... работает очень странно.

При дальнейшем исследовании ... Его, вероятно, происходит где-то здесь:

https://github.com/mgcrea/angular-strap/blob/master/src/tooltip/tooltip.js#L83

Хотя я не знаю, где/как/что еще.

Update

Так ошибка (в угловой планке) является с кэширование шаблона. Первоначальный поиск (через http) работает отлично. Но он кэширует их как массив, и после извлечения из кеша (последующие дополнения) он получает массив.Который не имеет .dataproperty поэтому ваш шаблон пуст, и ваш ng-bind удален ..

+0

Да! Я сам это видел. Спасибо, и я сообщу об этом угловому ремню. –

+0

Вот вопрос на github: https://github.com/mgcrea/angular-strap/issues/455 –

+0

Хм ... Ну это странно .. Мы оба были в теге для последней версии .. У мастера есть это исправленное https://github.com/mgcrea/angular-strap/commit/612148e0bf19f287676fa7063e146d66f6ea5d78 Я бы просто взял его ... – calebboyd

Смежные вопросы