AngularJS routing не загружает ng-шаблон на начальном клике

Я создаю простой статический сайт с помощью AngularJS.
Я направляю ng-view на моем шаблоне на различные html-страницы, как этот:

жилище.формат html:

<script type="text/ng-template" id="views/home.html">
    You are in home
</script>

Вот мой указатель.формат html:

<!DOCTYPE html>

<html lang="en" ng-app="myApp" >
    <head>
        <meta charset="utf-8">
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.js"></script>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-route.js"></script>
        <script type="text/javascript" src="js/app.js"></script>

        <title>My Website</title>
        <base href="/">
        <meta name="author" content="Me">
    </head>

    <body ng-controller="ContentController">
        <h1>My Website</h1>

        <ul class="main-nav" id="main-nav">
            <li><a href="home"><i class="fa fa-home"></i>Home</li>
            <li><a href="portfolio"><i class="fa fa-comment"></i>Portfolio</li>
            <li><a href="articles"><i class="fa fa-comment"></i>Articles</li>
            <li><a href="books"><i class="fa fa-comment"></i>Books</li>
            <li><a href="about"><i class="fa fa-shield"></i>About Me</li>
        </ul>

        <ng-view></ng-view>

    </body>
</html>

Мой маршрут работает сразу после второго клика по каждой из ссылок (портфолио, статьи, …).
При первом нажатии на ссылку, контроллер выполняется, но вид не показывает мне содержимое html (т. е. «вы находитесь в доме» не появляется на моем первоначальном щелчке, сразу после второго).

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

Вы не могли бы мне помочь?

Есть ли правильный способ использовать ng-template на отдельном файле? Или я должен использовать работу вокруг для перезагрузки моего ng-шаблона после первого щелчка?

Спасибо!

1 ответ

  1. Если удалить ng-шаблон, проблема решена.
    Я подробнее изучу, как использовать ng-template на отдельных файлах и напишу его здесь.