Próbuję wykonywać kątową aplikację Routing JS, działa dobrze, ale mam przed sobą błąd, który kliknąłem [Wyświetl listę studentów], która nie działa, a strona nie jest nawigacją na inną stronę ..

Poniżej znajduje się mój kod .. main.js

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

app.config(['$routeProvider','$locationProvider',
    function($routeProvider,$locationProvider){
    $routeProvider
        .when('/', {
            templateUrl: 'home.html',
            controller: 'StudentController'
        })
        .when('/viewStudents', {
            templateUrl: 'viewStudents.html',
            controller: 'StudentController'
        })
        .otherwise({
            redirectTo: '/'
        });
        $locationProvider.hashPrefix('');
        $locationProvider.html5Mode({
            enabled:true,
            requiredBase:false
        }); 
}]);

app.controller('StudentController', function($scope) {
    $scope.students = [
        {name: 'Mark Waugh', city:'New York'},
        {name: 'Steve Jonathan', city:'London'},
        {name: 'John Marcus', city:'Paris'}
    ];

    $scope.message = "Click on the hyper link to view the students list.";
});

Poniżej jest mój home.html

<div class="container">
    <h2> Welcome </h2>
    <p>{{message}}</p>
    <a ng-href="/viewStudents"> View Students List</a>
</div>

Poniżej znajduje się moi ViewStudents.html

<div class="container">
    <h2> View Students </h2>
    Search:
    <br/>
        <input type="text" ng-model="name" />
    <br/>
    <ul>
        <li ng-repeat="student in students | filter:name">{{student.name}} , {{student.city}}</li>
    </ul>
    <a ng-href="/home">Back</a>
</div>

Poniżej znajduje się mój kod index.html

<!DOCTYPE html>
<html>
    <head>
        <base href="/" />
        <script src="js/angular.min.js"></script>
        <script src="js/angular.route.js"></script>
        <script src="js/main.js"></script>
    </head>
        <body ng-app="mainApp">
            <ng-view></ng-view>
        </body>
</html>
1
Babu 27 czerwiec 2017, 09:36

3 odpowiedzi

Najlepsza odpowiedź

Musisz zmienić home.html jako,

<div class="container">
    <h2> Welcome </h2>
    <p>{{message}}</p>
    <a ng-href="#/viewStudents"> View Students List</a>  
</div>

PRÓBNY

1
Sajeetharan 27 czerwiec 2017, 06:47

Jeśli chcesz włączyć tryb HTML5, upewnij się, że zawiera znacznik {x0}} po załadowaniu skryptów. Lubię to

<!DOCTYPE html>
<html>
    <head>
        <script src="js/angular.min.js"></script>
        <script src="js/angular.route.js"></script>
        <script src="js/main.js"></script>
        <base href="/" />
    </head>
        <body ng-app="mainApp">
            <ng-view></ng-view>
        </body>
</html>

I powinno działać dobrze.

Spójrz na Pracujący rozludni

0
AdityaParab 27 czerwiec 2017, 06:59

Zmiana

<a ng-href="/viewStudents"> View Students List</a>

Do

<a ng-href="#/viewStudents"> View Students List</a>  

Spróbuj

1
mt eee 27 czerwiec 2017, 06:41