Всплывающее окно начальной загрузки Angular ui с шаблоном

<a data-ng-href="" uib-popover-template="'profile.html'" popover-placement="bottom"></a>

<script type="text/ng-template" id="profile.html">
    <div class="media">
        <div class="media-left">
            <a data-ng-href="">
                <img class="media-object" data-ng-src="" alt="">
            </a>
        </div>
        <div class="media-body">
            <h4 class="media-heading" data-ng-bind="mainCtrl.Authentication.getUser().fullName">Unknown User</h4>
        </div>
    </div>
</script>

ошибка

Error: Syntax error, unrecognized expression: <div class="media">
        <div class="media-left">
            <a data-ng-href="">
                <img class="media-object" data-ng-src="" alt="">
            </a>
        </div>
        <div class="media-body">
            <h4 class="media-heading" data-ng-bind="mainCtrl.Authentication.getUser().fullName">Unknown User</h4>
        </div>
    </div>
    at Function.Sizzle.error (jquery.js:4421)
    at tokenize (jquery.js:5076)
    at select (jquery.js:5460)
    at Function.Sizzle [as find] (jquery.js:3998)
    at jQuery.fn.extend.find (jquery.js:5576)
    at jQuery.fn.jQuery.init (jquery.js:196)
    at jQuery (jquery.js:62)
    at compile (angular.js:7543)
    at ui-bootstrap-tpls.js:4688
    at processQueue (angular.js:14792)

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


person lch    schedule 16.01.2016    source источник


Ответы (3)


Я столкнулся с этой проблемой сегодня, и когда я собирался опубликовать ту же проблему, когда я ввел заголовок своего сообщения, я наткнулся на это сообщение. Что, в свою очередь, привело меня к документация по jquery.

По сути, я удалил пробелы в шаблоне, и все заработало нормально. То есть:

До:

<script type="text/ng-template" id="deletePopover.html">
    <div>Sample template.</div>
</script>

После:

<script type="text/ng-template" id="deletePopover.html"><div>Sample template.</div>
</script>

Поскольку Angular UI Bootstrap не зависит от jQuery, я не знаю, почему это проблема, и поскольку я действительно не изучал, почему это работает, я решил опубликовать это тем временем.

person ddoria    schedule 02.02.2016

Была такая же проблема. Решено изменить порядок загрузки jquery и bootstrap. Теперь я загружаю bootstrap, а затем jquery, и, похоже, это решает проблему. Но тем не менее странно.

person aguest    schedule 06.06.2016

Просто хочу отметить, что кажется, что корень требования заключается в том, что строка должна начинаться с символа <. Таким образом, вам на самом деле не нужно вставлять все это в одну строку (что не очень хорошо для более сложного шаблона). Для меня работает следующее:

<script type="text/ng-template" id="template.html"><span></span>
    <div>
        Hello there
    </div>
</script>

Наличие <span></span> сразу после открытия <script> позволяет отображать остальную часть шаблона как HTML.

person Eric    schedule 28.07.2016