2014-10-29 3 views
0

내 angularjs 프로젝트에 루트 범위를 설정하려고합니다. 그래서 HTML의 어느 곳에서나 이름에 접근 할 수 있습니다.전역 변수에 접근하기

은 내가 JS 파일에 다음 사항과 전화 app.js를로드 한 페이지 전체를 캡슐화

<!DOCTYPE html> 
<html lang="en" ng-app="phonecatApp" ng-controller="ApplicationController"> 

</html> 

;

var phonecatApp = angular.module('phonecatApp', []); 
phonecatApp.factory('UserService', function(){ 
    return { 
     name : 'Tom' 
    }; 
}) 

function ApplicationController($scope, UserService){ 
    $scope.username = UserService.name 
} 

은 내가하여 index.html을에서 다음을 수행하려고 해요 :

<a href="#index" class="nav-item name_p_nav">{{username}}</a> 

을하지만

편집은 그냥 빈 제공 : 고정 오타

+1

오타? 함수 ApplicationController ($ scope, Username) 함수 여야합니다. ApplicationController ($ scope, UserService) { – sma

+0

죄송합니다. 오타입니다. 문제는 변경되지 않습니다. – TMB87

+0

컨트롤러를 모듈에 등록 하시겠습니까? 'phonecatApp.controller ("ApplicationController", [ "$ scope", "UserService", ApplicationController]); ' – Absor

답변

0

당신은 시도 할 수 있습니다 이 같은. 컨트롤러를 선언 한 방식을 변경하십시오. $ scope 변수를 사용하려면 선언해야합니다. 스크립트 오류가 선언되지 않았을 때 스크립트를 받아야합니다. 개발자 도구를 사용하여 브라우저에서 정확한 오류를 확인하십시오.

}]);

+0

이상한 부분이 있습니다. 오류가 발생하지 않습니다. – TMB87

+0

위 코드로 변경하려고 시도했습니다. 하지만 여전히 아무것도 돌아 오지 않고 오류가 없다. – TMB87

0

문제를 재현하려고 시도했는데 신속하게 응용 프로그램을 만들었고 나를 위해 일했습니다! 여기에 샘플 코드를 게시하고 있습니다.

<html lang="en" ng-app="phonecatApp" ng-controller="ApplicationController"> 
<head> 
    <script src="../Scripts/lib/angular.min.js"></script> 
    <script src="../Scripts/Application1.js"></script> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script> 
</head> 
<body> 
    <a href="#index" class="nav-item name_p_nav">{{username}}</a> 
</body> 

스크립트 :

var phonecatApp = angular.module('phonecatApp', []); 
phonecatApp.factory('UserService', function(){ 
return { 
     name : 'Tom' 
}; 
}) 

function ApplicationController($scope, UserService){ 
$scope.username = UserService.name 
} 
+0

내 코드와 똑같지 않니? – TMB87

관련 문제