Загрузка состояния UI-маршрутизатора при первой загрузке сайта

0

js для создания двух макетов и страницы контента:

 $urlRouterProvider.otherwise("/Site/Movies");


    $stateProvider
      .state('admin', {
          url: "/Admin",
          templateUrl: "/Views/Admin.html"
      })
      .state('site', {
          url: "/Site",
          templateUrl: "/Views/Site.html"
      })          
      .state('site.movies', {
          url: "/Site/Movies",
          templateUrl: "/Views/Site/movies.html",
          controller: 'moviesController'
      })

Index.html:

<!DOCTYPE html>
<html ng-app="moviesApp">
<head></head>
<body ng-cloak>
    <!--<div class="container-fluid">
        <ng-view></ng-view>

    </div>-->
        <div ui-view></div>
    <a ui-sref="site.movies">State 1</a>
    
</body>
</html>
​

Я удалил ссылки на сценарии. Site.html:

   <header id="siteHeader">HEADER</header>
    <div ui-view></div>
    <footer id="siteFooter">FOOTER</footer>
​

и movies.html

<div>

    <h1>List Movies</h1>
    <button ng-click="getMovies()">Get Movies</button>
    <span>{{error}}</span>
    <table class="table table-bordered table-striped">
        <thead>
            <tr>
                <th></th>
                <th>Title</th>
                <th>Director</th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="movie in movies">
                <td>
                    <a href="/movies/edit/{{movie.Id}}" class="btn btn-default btn-xs">edit</a>
                    <a href="/movies/delete/{{movie.Id}}" class="btn btn-danger btn-xs">delete</a>
                </td>
                <td>{{movie.Title}}</td>
                <td>{{movie.Director}}</td>
            </tr>
        </tbody>
    </table>

    <p>
        <a href="/movies/add" class="btn btn-primary">Add New Movie</a>
    </p>
</div>​

Моя проблема только в том случае, когда я нажимаю ссылку с sref = "site.movies", она появляется, а не на загрузке страницы. Как мне сделать movie.html и сайт загрузки макета сначала. также когда я печатаю/сайт/фильмы в адресной строке movies.html не загружается.

  • 0
    1-я вещь ... MVC не предоставляет доступ к папке представлений ... короче говоря, вы не можете получить доступ к файлам из папки представлений напрямую через URL

1 ответ

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

Я нашел, что решение находится в вложенном состоянии url:

.state('site.movies', {
      url: "/Site/Movies",
      templateUrl: "/Views/Site/movies.html",
      controller: 'moviesController'
  })

должно быть:

.state('site.movies', {
      url: "/Movies",
      templateUrl: "/Views/Site/movies.html",
      controller: 'moviesController'
  })

Ещё вопросы

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