2014-10-10 9 views
0

간단한 AngularJS 앱을 연결하려고하는데 내보기 지시문에서 undefined is not a function 오류를 지나칠 수 없습니다. 이상한 것은 첫 번째 뷰가 실제로로드되어 지시문에 렌더링되지만 두 번째 뷰로 이동할 수 없다는 것입니다. 컨트롤러가 확실히 실행되고 있지 않습니다. 나는 여기서 무슨 일이 일어나고 있는지 잘 모르겠습니다. 어떤 아이디어?AngularJS TypeError : 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

+0

바이올린 만들기 작업. – ExceptionLimeCat

답변

0

입니다.이 문제는 내 홈보기 내의 스크립트 오류로 인해 발생했습니다. 내 두 번째보기를로드하는 중에 여전히 문제가 있습니다. 이 문제에 대해 저를 도운 모든 분들께 감사드립니다.

+0

$ 문서를 컨트롤러에 삽입해야합니다. [Doumentation] (https://docs.angularjs.org/api/ng/service/$document)을 참조하고 스크립트 예제를 살펴보십시오. –

+0

@ JaredReeves 당신이 맞습니다 만, 그것은 별도의 문제이기 때문에 컨트롤러에서'$ document' 레퍼런스를 삭제했습니다. – ExceptionLimeCat

+0

혹시 plnker를 얻었거나 모든 문제를 해결 했습니까? –

1

문서를 다음과 같이 컨트롤러에 입력하십시오 :

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

각도가 주입없이 무엇인지 알지 못하기 때문에 오류가 발생하는 $ 문서 일 수 있습니다. 그러나이 문제의 오류는 Error: Unknown provider:

관련 문제