2016-12-19 11 views
0

У меня никогда не было этой проблемы раньше, и я знаю, что это крошечная проблема ... но я не могу понять, что не так ... 1 из моих партикулов неправильно загружается, а вместо этого обращается в противном случае обратно к моему/логину (который я назначил). Каждый раз, когда я нажимаю ссылку «Создать опрос», он перенаправляет меня обратно в логин, а URL отображает это http://localhost:3000/#!/login#%2Fcreate, но когда я помещаю http://localhost:3000/#!/create в URL-адрес, он работает. Не совсем уверен, в чем проблема. Пожалуйста помоги!Угловые частичные не работают

var app = angular.module('myApp', ['ngRoute']); 
 

 
app.config(function($routeProvider){ 
 
\t $routeProvider 
 
\t .when('/login', { 
 
\t \t templateUrl: 'partials/login.html', 
 
\t \t controller: 'UserController' 
 
\t }) 
 
\t .when('/dashboard', { 
 
\t \t templateUrl: 'partials/dashboard.html', 
 
\t \t controller: 'SurveyController' 
 
\t }) 
 
\t .when('/create', { 
 
\t \t templateUrl: 'partials/create.html', 
 
\t \t controller: 'SurveyController' 
 
\t }) 
 
\t .when('/poll/:id', { 
 
\t \t templateUrl: 'partials/poll.html' 
 
\t }) 
 
\t .otherwise({ 
 
\t \t redirectTo: '/login' 
 
\t }); 
 
})
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <title>Survey Polls</title> 
 
\t <!-- CSS --> 
 
\t <link rel="stylesheet" href="bootstrap/dist/css/bootstrap.css"> 
 
    <link rel="stylesheet" type="text/css" href="styles.css"> \t 
 
\t <!-- Angular --> 
 
\t <script src="angular/angular.js"></script> 
 
\t <script src="angular-route/angular-route.js"></script> 
 
\t <!-- jQuery/Bootstrap --> 
 
\t <script src="jquery/dist/jquery.js"></script> 
 
\t <script src="bootstrap/dist/js/bootstrap.js"></script> 
 
\t <!-- App.js --> 
 
\t <script src="app.js"></script> 
 
\t <!-- Controllers/Factories --> 
 
\t <script src="controllers/SurveyController.js"></script> \t 
 
\t <script src="controllers/UserController.js"></script> 
 
\t <script src="factories/SurveyFactory.js"></script> 
 
\t <script src="factories/UserFactory.js"></script> 
 
</head> 
 
<body ng-app="myApp"> 
 
\t <div class="container"> 
 
\t \t <div ng-view></div> 
 
\t </div> 
 
</body> 
 
</html> 
 

 

 

 

 
<a href="#/create">Create a new survey</a> 
 

 
<h3>Current polls:</h3> 
 

 
<table border="1"> 
 
\t <thead> 
 
\t \t <tr> 
 
\t \t \t <th>Name</th> 
 
\t \t \t <th>Survey Question</th> 
 
\t \t \t <th>Date Posted</th> 
 
\t \t \t <th>Action</th> 
 
\t \t </tr> 
 
\t </thead> 
 
\t <tbody> 
 
\t \t <tr ng-repeat="s in surveys"> 
 
\t \t \t <td>{{ s._user.username }}</td> 
 
\t \t \t <td>{{ s.question }}</td> 
 
\t \t \t <td>{{ s.created_at }}</td> 
 
\t \t \t <td><button ng-show="loggedInUser._id == s._user._id" ng-click="delete(s._id)">Delete</button></td> 
 
\t \t </tr> 
 
\t </tbody> 
 
</table>

+0

Какой из них не работает? – Yaser

+0

Да, жаль, что я отредактировал мое сообщение для этого. упс! –

+0

покажите нам, как вы плаваете, чтобы создать состояние ... функцию, которая запускает его. – Thalaivar

ответ

0

Попробуйте использовать нг-HREF вместо того, чтобы просто HREF. надеюсь, что поможет

+0

так будет Create a new survey

+0

У меня есть плункер для вас простой, а ссылка работает отлично, пожалуйста, ahve посмотрите https://plnkr.co/edit/q4Bamm2was76KeBknkC7?p=preview –

+0

Он работает, когда я изменяю href на «#!/create», но почему у моего URL есть «!» в этом? –

0

Я нашел возможное решение here. Добавьте эту строку в свою конфигурацию, чтобы избавиться от восклицательного знака (!):

$locationProvider.hashPrefix(''); 
+0

Большое спасибо! :) –

+0

Рад, что помогло. – Mickers