Почему мой ngRoute не работает

Мой ngroute работает на моей домашней странице, однако, когда я нажимаю на ссылку, чтобы перейти на мою образовательную страницу, она запускается, а не запускается .what('/education... и показывает правильный templateUrl

home.html

<div class="main">
  <div class="container">
    <div ng-view></div>

app.js

var app = angular.module('Danielle', ['ngRoute']);
app.config(function($routeProvider){

$routeProvider

.when('/',{
controller:'HomeController',
templateUrl:'views/homepage.html'
})      

.when('/education',{
  templateUrl:'views/education.html'
})

.otherwise({ 
  redirectTo: '/' 
}); 
});

домашняя страница.html

<style>
body{
   background: url(/img/3kzlcl3rj8a-ricardo-gomez-angel.jpg) no-repeat center center fixed;
background-size: cover;
 }
</style>
<div class="jumbotron">
    <h1>Danielle Zurek</h1>
<a href="#/education.html">
<div class="education">
    <div class="row">
        <h2>Education</h2>
    </div>
</a>
   </div>
</div>

education.html

<style>
body{
   background: url(/img/grads.jpg) no-repeat center center;
   background-size: cover;
}
</style>

<div class="jumbotron">
  <h1>Education</h1>
</div>

person Jacob Rusoff    schedule 08.02.2017    source источник
comment
Неважно, я решаю это почти сразу после того, как опубликовал его. Ошибка в homepage.html <a href="#/education.html"> должна была быть <a href="#/education">   -  person Jacob Rusoff    schedule 08.02.2017
comment
Добро пожаловать в Stack Overflow. Другим может быть полезно, если вы опубликуете ответ на свой вопрос, а затем примете его.   -  person Matt    schedule 09.02.2017


Ответы (2)


вам нужно добавить имя представления в ng-view https://docs.angularjs.org/api/ngRoute/directive/ngView

person Álvaro Touzón    schedule 08.02.2017

Хотя вы уже нашли проблему и решили ее в соответствии с вашим комментарием. Но есть кое-что, о чем вы действительно должны подумать, чтобы двигаться вперед. Когда вы работаете с платформами MVC, вам всегда следует учитывать возможность изменения маршрутов приложений с помощью маршрутизатора. Использование href="#/education" или что-то вроде $window.location.href фактически обновляет вашу страницу, это просто означает, что оно повторно инициирует ваше приложение.

Вы должны всегда оставлять href="javascript:void(0)", что остановит обновление страницы. Чтобы изменить маршруты, вы должны использовать $location.path() в своем контроллере.

person Anadi Sharma    schedule 08.02.2017
comment
при добавлении $location.path(...) как мне сделать так, чтобы ссылка в представлении действительно приводила меня к этому пути? - person Jacob Rusoff; 10.02.2017
comment
также сделал бы это, как только я это выясню, чтобы мои анимации ng-route не были прерывистыми. потому что теперь, когда я это знаю, я полагаю, что изменчивость анимационных переходов связана с тем, что он снова загружает браузеры. - person Jacob Rusoff; 10.02.2017