2013-11-26 16 views
22

tôi gặp phải các lỗi sau đây với một nguyên nhân gốc rễ của Mô-đun 'ngRoute' không có sẵn đangKhông thể nhanh chóng lỗi mô-đun trong js góc

Uncaught Error: [$injector:modulerr] Failed to instantiate module Amail due to:

Error: [$injector:modulerr] Failed to instantiate module ngRoute due to:

Error: [$injector:nomod] Module 'ngRoute' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument."

Javascript:

var amailServices = angular.module('Amail',['ngRoute']); 
function emailRouteConfig($routeProvider) { 
$routeProvider. 
    when('/', { 
     controller: ListController, 
     templateUrl : 'list.html'}). 

    when('/view/:id',{ 
     controller : DetailsController, 
     templateUrl:'detail.html'}). 

    otherwise({ 
     redirectTo:'/' 
    }); 
} 
amailServices.config(emailRouteConfig); 

Làm thế nào để sửa chữa này

+4

_ "Bạn viết sai chính tả tên mô-đun hoặc quên tải nó" _ - Bạn có? – elclanrs

+0

@elclanrs Tôi quên tải nó. Cảm ơn –

Trả lời

43

Bạn cần phải bao gồm angular-route.js trong HTML của mình:

<script src="angular-route.js"> 

http://docs.angularjs.org/api/ngRoute

+1

Tôi nhận được lỗi này sau khi di chuyển từ angularjs 1.1.5 đến 1.2. Như tôi tìm thấy từ một trang khác, điều này là do ngRoute không còn là một phần của angularjs lõi. Vì vậy, không chỉ bạn phải bao gồm angular-route.js trong html (hoặc bó), bạn cũng phải tiêm ngRoute trong angular.module(). – newman

+1

Tôi có lỗi tương tự khi tôi cố gắng sử dụng 'ngWebcam', tôi đã bao gồm tập lệnh trong index.html của tôi và tiêm nó vào angula.module() của tôi và tôi vẫn gặp lỗi. Xin vui lòng giúp – JkAlombro

2

Hoặc phiên bản rút gọn của tập tin ...

<script src="angular-route.min.js"></script> 

biết thêm thông tin về vấn đề này here:

"Lỗi này xảy ra khi một mô-đun không tải do một số ngoại lệ. Thông báo lỗi ở trên phải cung cấp ngữ cảnh bổ sung. "

" Trong AngularJS 1.2.0 trở lên, ngRoute đã được chuyển sang mô-đun riêng của nó. Nếu bạn đang nhận được lỗi này sau khi nâng cấp lên 1.2.x, hãy chắc chắn rằng bạn đã cài đặt ngRoute "

niêm yết dưới phần Error: $injector:modulerr Module Error trong Angularjs docs

1

Đối với tôi, giải pháp đã được sửa chữa một lỗi cú pháp:..

loại bỏ dấu hai chấm bán không mong muốn trong hàm angular.module

1

tôi đã nhận lỗi này do không chỉ kịch bản với các đường dẫn chính xác. vì vậy, hãy hoàn toàn chắc chắn rằng bạn đang trỏ đến đúng con đường trong bạn tập tin html.

+0

đã gấp ba lần kiểm tra con đường của tôi và tôi khá chắc chắn tôi đã làm nó đúng. Vẫn gặp lỗi – JkAlombro

0

Đối với tôi, lỗi xảy ra do trình duyệt của tôi sử dụng phiên bản được lưu trong bộ nhớ cache của tệp js chứa mô-đun. Xóa bộ nhớ cache và tải lại trang đã giải quyết được sự cố.

0

lỗi này xảy ra khi nào,

1. You misspell module name which you injected. 
2. If you missed to include js file of that module. 

Đôi khi người ta viết js nộp tên thay vì tên mô-đun mà chúng tôi được tiêm.

Trong những trường hợp này những gì xảy ra là cố gắng góc để tìm mô-đun được cung cấp trong ngoặc vuông []. Nếu nó không tìm thấy mô-đun, nó sẽ phát ra lỗi.

Các vấn đề liên quan