2014-10-10 63 views
0

我試圖連接一個簡單的AngularJS應用程序,並且我無法在我的view指令中通過undefined is not a function錯誤。奇怪的是,第一個視圖實際加載並呈現給指令,但我無法導航到第二個視圖。控制器肯定沒有運行。我不確定這裏發生了什麼事。有任何想法嗎?AngularJS TypeError:undefined不是ng-view指令上的函數

角版本:1.2.26(與1.2.20同樣的錯誤)

錯誤

TypeError: Undefined is not a function

應用程序代碼

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

app.controller('Home', ['$scope', function ($scope) { 
    console.log('Home controller hit.'); 
}]); 

app.controller('About', ['$scope', function ($scope) { 
    console.log('About controller hit.'); 
}]); 


app.config(function ($routeProvider, $locationProvider) { 
    $locationProvider.html5Mode(true); 
    $routeProvider.when('/', { templateUrl: 'SiteAssets/views/home.html', controller: 'Home' }) 
    .when('/home', { templateUrl: 'SiteAssets/views/home.html', controller: 'Home' }) 
    .when('/about', { templateUrl: 'SiteAssets/views/about.html', controller: 'About' }) 
    .otherwise({ redirectTo: '/' }); 
}); 
+1

你能提供[plunkr](http://plnkr.co/)或[jsfiddle](http://jsfiddle.net/)嗎? – bmleite 2014-10-10 14:49:09

+0

工作創建一個小提琴。 – ExceptionLimeCat 2014-10-10 15:02:46

回答

0

此問題是由我的主視圖中腳本中的錯誤引起的。我的第二個視圖加載時仍然存在問題。感謝所有在這個問題上幫助過我的人。

+0

您仍然需要將$文檔注入到控制器中。請參閱[Doumentation](https://docs.angularjs.org/api/ng/service/$document)並查看腳本示例。 – 2014-10-10 15:32:56

+0

@JaredReeves你是對的,但我已經從控制器中刪除了'$ document'引用,因爲它是一個單獨的問題。 – ExceptionLimeCat 2014-10-10 16:47:53

+0

你有沒有遇到過笨蛋,或者你是否解決了所有問題。 – 2014-10-10 19:59:31

1

你需要注入$把文件寫入你的控制器,如下所示:

app.controller('About', ['$scope','$document', function ($scope, $document) { 
    $document.title = 'About Us'; 
    console.log('About controller hit.'); 
}]); 

它可能是拋出錯誤的$文檔,因爲角度不知道沒有注入是什麼。但是,此問題的錯誤將爲Error: Unknown provider:

相關問題