2016-05-28 4 views
1

Я определил мою HREF ссылки, как это:HREF angularjs не маршрутизации

<div id="left-menu"> 
     <div class="sub-left-menu scroll"> 
     <ul class="nav nav-list"> 
      <li><div class="left-bg"></div></li> 
      <li class="time"> 
       <h1 class="animated fadeInLeft">21:00</h1> 
       <p class="animated fadeInRight">Sat,October 1st 2029</p> 
      </li> 
      <li class="active ripple"> 
       <a href="#hosts"> 
        <span class="fa-home fa"></span> Dashboard 
       </a> 
      </li> 
      <li class="ripple"> 
       <a href="hosts/hosts.html"> 
        <span class="fa fa-calendar-o"></span> Calendar 
       </a> 
      </li> 
      </ul> 
     </div> 
    </div> 

Однако, когда я нажимаю на <a> тегах, кажется, не оттянуть содержание состоявшегося в моем файле hosts.html. URL-адрес в браузере также не изменяется с базовым URL-адресом http://localhost/dashboard/#/main, и когда я нажимаю хост, нужный вывод должен быть http://localhost/dashboard/#/hosts с правильным отображением содержимого. Вот тема пакета я использую http://akivaron.github.io/miminium/

Вот мои angularjs файлы, начиная с самого приложения «dashApp»

'use strict' 

// Declare app level module which depends on views, and components 
angular.module('dashApp', [ 
    'ngRoute', 
    'dashApp.main', 
    'dashApp.hosts' 
]) 

.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { 
    $routeProvider 
    .otherwise({redirectTo: '/main'}); 
}]); 

вот мой главный:

'use strict' 

angular.module('dashApp.main', ['ngRoute']) 

.config(['$routeProvider', function($routeProvider){ 
    $routeProvider.when('/main', { 
    templateUrl: 'main/main.html', 
    controller: 'mainController' 
    }) 
}]) 

.controller('mainController', function($scope, $http, $window){ 

}); 

и вот мои хозяева файл:

'use strict' 

angular.module('dashApp.hosts', ['ngRoute']) 

.config(['$routeProvider', function($routeProvider){ 
    $routeProvider.when('/hosts', { 
    templateUrl: 'hosts/hosts.html', 
    controller: 'hostsController' 
    }) 
}]) 

.controller('hostsController', function($scope, $http, $window){ 
}); 

и вот структура проекта: https://gyazo.com/fb5e2a2651fe8cc460fde783237ddd9c

ответ

1

Снимите задний конец / в href's. Они должны соответствовать URL в вашей конфигурации маршрутизации

Пример

<a class="tree-toggle nav-header" href="#/main/" target="_self"> 

Должно быть

<a class="tree-toggle nav-header" href="#/main" > 
+0

Это, похоже, не решило проблему, она по-прежнему делает то же самое, что упоминалось в моем сообщении – DorkMonstuh

+0

Вы уверены, что путь к шаблону верен? Добавьте обработчик ошибок изменения маршрута и получите сведения об ошибке. Также вы включили 'ng-view' на главной странице? – charlietfl

+0

Где это реализовать? В приложении или в основном модуле? – DorkMonstuh

0

Я думаю, вы должны удалить хэш.

<a class="tree-toggle nav-header" href="/main">link</a> 
+0

Это тоже не сработало, Я попытался включить статический URL-адрес в google, и это не сработало, когда я нажал на него. – DorkMonstuh

+0

Может быть, 'ng-href' должен иметь другой вывод. Простите, я не могу сейчас попробовать. – lithium

+0

Нет, это тоже не сработало, когда я нажимаю ссылки, ничего не делает. – DorkMonstuh

1

Ссылки «Href» должны быть внутри ng-app и ng-view также внутри приложения. Как Ниже

<div ng-app="myApp" ng-controller="myController"> 
    <a href="#/home">home</a> 
    <a href="#/book">books</a> 
    <div ng-view></div> 
</div> 

первую очередь проверить выше, то обновить ваш JS файл, как показано ниже: -

var app=angular.module("myApp",['ngRoute']); 
app.config('$routeProvider',function($routeProvider){ 
$routeProvider 
    .when('/home',{ 
    templateUrl:'path/some.html' 
    }) 
}); 

не стесняйтесь спросить, если какие-либо сомнения.

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