2016-12-16 29 views
10

Tôi đang cố gắng tạo ứng dụng góc đầu tiên của mình. Nhưng nó không hoạt động chút nào. Tôi không biết vấn đề là gì. Tôi đã kiểm tra giao diện điều khiển, nhưng không có erros.AngularJS 1.6 định tuyến không hoạt động

<head> 
<meta charset="utf-8"> 
<script src="https://code.angularjs.org/1.6.0/angular.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular-route.js"></script> 
</head> 
<body ng-app="myApp"> 
    <h1>Test angular</h1> 
    <a href="#/">Main</a> 
    <a href="#sec">Second</a> 
    <a href="#th">Third</a> 
    <div ng-view></div> 
</body> 

<script> 
var app = angular.module("myApp", ["ngRoute"]); 
app.config(function($routeProvider) { 
    $routeProvider 
    .when("/", { 
     templateUrl : "main.html" 
    }) 
    .when("/sec", { 
     templateUrl : "sec.html" 
    }) 
    .when("/th", { 
     templateUrl : "th.html" 
    }); 
}); 
</script> 

Mọi người có thể giúp tôi không?

+0

không có erros trong bảng điều khiển/ – Petrus

+0

làm mọi nguồn lực giải quyết đúng cách? Bạn có thấy mẫu của mình khi bạn yêu cầu bạn http: //applicationurl/main.html không? – Jeroen

+0

Im đang chạy trên máy chủ cục bộ. – Petrus

Trả lời

27

đường ở góc 1.6 thay đổi từ #/myUrl để #!/myUrl

Bạn nên thay đổi ref của bạn để:

<a href="#!/">Main</a> 
<a href="#!/sec">Second</a> 
<a href="#!/th">Third</a> 

Xem this answer nếu bạn muốn loại bỏ tiền tố này.

+2

câu trả lời hay ... – Juan

+0

@John Sparwasser: Cảm ơn. Làm việc cho tôi quá cho 1.6.4/angular.min.js ... – Thulasiram

+1

Câu trả lời hoàn hảo !! @Mistalis giải pháp tuyệt vời. – HarshalY

1

Tôi đã phát hiện ra rằng bạn không bao gồm các $routeProvider đúng cách, Dưới đây là mã định tuyến làm việc:

app.config(['$routeProvider', function($routeProvider) { 
    $routeProvider 
    .when("/", { 
     templateUrl : "main.html" 
    }) 
    .when("/sec", { 
     templateUrl : "sec.html" 
    }) 
    .when("/th", { 
     templateUrl : "th.html" 
    }); 
}]); 
+0

Đã thử. Vẫn không hoạt động:/ – Petrus

+0

là trang web được lưu trữ trên máy chủ cục bộ? Nếu không, thì đó là lý do tại sao nó không hoạt động –

+0

Có, nó được lưu trữ trên máy chủ cục bộ. – Petrus

-3

Bạn cần phải sửa chữa thuộc tính href của bạn:

Cách đúng là:

<a href="#/">Main</a> 
<a href="#/sec">Second</a> 
<a href="#/th">Third</a> 
+0

Tôi đã thay đổi, vẫn không hoạt động:/ – Petrus

4

Hãy thử thêm $ locationProvider để kịch bản của bạn

app.config(['$locationProvider', function($locationProvider) { 
     $locationProvider.hashPrefix(''); 
     }]); 
1

Hãy thử mã này nó đang làm việc

app.config(['$routeProvider','$locationProvider',function ($routeProvider,$locationProvider) { 
$locationProvider.hashPrefix(''); 
$routeProvider 
    .when('/', { 
     templateUrl: 'index.html' 
    }) 
    .when('/about', { 
     templateUrl: 'about.html' 
    }) 
    .when('/service', { 
     templateUrl: 'service.html' 
    });}]); 
Các vấn đề liên quan