2014-12-17 2 views
3

제 웹 사이트에서 모듈 컨트롤러에서 간단한 AngularJS 기능 - 발사 알림을 개발 중입니다.가장 단순한 AngularJS 코드가 작동하지 않습니다.

(function() { 
    var app1 = angular.module('myApp', []); 

    app1.controller('MyController', function() { 
     alert('Hey'); 
    }); 
}); 

에 Index.html :

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="myApp"> 
<head> 
    <title>Angular</title> 

    <script src="Scripts/angular.min.js"></script> 
    <script src="Scripts/app1.js"></script> 
</head> 
<body ng-controller="MyController"> 
    {{5 + 3}} 
</body> 
</html> 

내 브라우저에서이 결과

가 있어야한다 :

8

app1.js : 이것은 내 코드입니다

과 "어이"라는 메시지와 함께 발사 됐지, 그렇지? 그리고 내가 무엇을 얻을하는 브라우저에서만 이것이다 :

{{5 + 3}}

모든 아이디어를 어떻게이 문제를 해결하려면?

+1

http://en.wikipedia.org/wiki/Immediately-invoked_function_expression은 물론 각도가 제대로 bootstraped되지 않았습니다. 콘솔에 오류가 있습니까? 제거 (function() {?) 각도 스크립트 경로를 확인해보십시오. – trainoasis

답변

12
당신의 응용 프로그램 및 컨트롤러 초기화 코드가 호출되지 않았다

, 당신은이 작업을 수행 할 필요가 :

(function() { 
    var app1 = angular.module('myApp', []); 

    app1.controller('MyController', function() { 
     alert('Hey'); 
    }); 
})(); // <=== Change is here 

설명 :

(function() { /*code*/}); 

는 익명 함수를 만들 수 있지만 것입니다하지 않습니다 전화을 기능. 를 호출하려면, 당신은 ; 전에 끝에 ()을 추가해야합니다

(function() { /*code*/})(); 
// Here ----------------^ 

더 :

+0

님이 답변을 편집했습니다. thanks @ T.J Crowder – Rasalom

+2

@ Rasalom : 편집의 자유를 통해 나는 의미를 보여주었습니다. –

관련 문제