투케이2K

2. (AngularJS/앵귤러JS) AngularJS 모듈 module , 컨트롤러 controller 사용해 데이터 저장 및 호출 실시 본문

AngularJs

2. (AngularJS/앵귤러JS) AngularJS 모듈 module , 컨트롤러 controller 사용해 데이터 저장 및 호출 실시

투케이2K 2021. 9. 16. 08:25

[개발 환경 설정]

개발 툴 : Edit++

개발 언어 : AngularJS


[자바스크립트 소스코드]

    <!-- AngularJS CDN 로드 -->    
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
    


    <!-- 내부 JS 지정 -->
    <script>

        /*
        [JS 요약 설명]
        1. window.onload : 브라우저 로드 완료 상태를 나타냅니다
        2. Angular Js 는 html 을 확장해서 사용할 수 있습니다
        3. Angular Js 는 단일 페이지 응용 프로그램(SP)에 적합합니다 (주기적 ajax 통신으로 데이터만 새로 교체)
        4. Angular Js 는 자바스크립트 client 측에서 MVC/MVVM 프레임워크를 사용할 수 있습니다
        5. ng-app : Angular Js 를 사용하겠다는 의미입니다 (특정 이름 지정 시 자바스크립트에서 controller를 사용해 데이터를 지정 및 view에 연결할 수 있음)
        6. ng-controller : ng-app 이름 지정 시 컨트롤러에서 $scope 데이터를 지정 및 저장 후 view 에 연결해줍니다
        7. $scope : 컨트롤러 데이터 저장 공간입니다 (뷰는 scope를 통해 컨트롤러 내부에 정의된 함수에 접근 가능)
        8. ng-init : Angular Js 에서 자바스크립트 변수나 함수를 초기화 시키는 것입니다
        9. ng-model : input, select, textarea 등의 태그에 ng-model을 지정하여 사용합니다 (ui 에서 데이터 인지 및 사용)
        10. 출력 방법 expression (표현식) : {{ name }} / ng-bind="" 로도 지정 가능

        11. AngularJS 모듈은 데이터를 관리 및 저장할 수 있는 컨테이너입니다
        12. AngularJS 에서 모듈을 정의하기 위해서는 (function(){ 모듈 및 컨테이너 })(); 문법을 사용해야합니다
        */ 


        /* [html 최초 로드 및 이벤트 상시 대기 실시] */
        window.onload = function() {
            console.log("");
            console.log("[window onload] : [start]");
            console.log("");            
        };


        /* [AngularJS 모듈 및 컨트롤러 데이터 정의] */
        (function(){
            // 모듈 appName 지정
            var app = angular.module("myApp", []); 


            // 모듈 appControlller 지정 >> 데이터 저장 실시
            app.controller("myInfo", function($scope) {
                $scope.Name = "TWOK";
                $scope.Age = "28";
                $scope.Data = {
                    Name: "투케이",
                    Age: "28"
                };
            });
        })();            
                
    </script>

[BODY 소스코드]

<!-- 
[Body 요약 설명]
1. body에 ng-app 사용한다고 설정 실시 (이름 : myApp 지정)
2. body에 ng-controller 저장된 데이터를 가져온다고 설정 실시
-->
<body ng-app = "myApp"
      ng-controller = "myInfo">


<!-- layout -->
<div class = "container" style="top : 2%;">
    <p class = "txt">
        <span>[myInfo 변수 지정] 이름 : {{Name}} , 나이 : {{Age}}</span><br>
        <span>[myInfo 객체 지정] 이름 : {{Data.Name}} , 나이 : {{Data.Age}}</span>
    </p> 
</div>

</body>

[결과 출력]


[요약 설명]

/*

[JS 요약 설명]

1. window.onload : 브라우저 로드 완료 상태를 나타냅니다

2. Angular Js 는 html 을 확장해서 사용할 수 있습니다

3. Angular Js 는 단일 페이지 응용 프로그램(SP)에 적합합니다 (주기적 ajax 통신으로 데이터만 새로 교체)

4. Angular Js 는 자바스크립트 client 측에서 MVC/MVVM 프레임워크를 사용할 수 있습니다

5. ng-app : Angular Js 를 사용하겠다는 의미입니다 (특정 이름 지정 시 자바스크립트에서 controller를 사용해 데이터를 지정 및 view에 연결할 수 있음)

6. ng-controller : ng-app 이름 지정 시 컨트롤러에서 $scope 데이터를 지정 및 저장 후 view 에 연결해줍니다

7. $scope : 컨트롤러 데이터 저장 공간입니다 (뷰는 scope를 통해 컨트롤러 내부에 정의된 함수에 접근 가능)

8. ng-init : Angular Js 에서 자바스크립트 변수나 함수를 초기화 시키는 것입니다

9. ng-model : input, select, textarea 등의 태그에 ng-model을 지정하여 사용합니다 (ui 에서 데이터 인지 및 사용)

10. 출력 방법 expression (표현식) : {{ name }} / ng-bind="" 로도 지정 가능

11. AngularJS 모듈은 데이터를 관리 및 저장할 수 있는 컨테이너입니다

12. AngularJS 에서 모듈을 정의하기 위해서는 (function(){ 모듈 및 컨테이너 })(); 문법을 사용해야합니다

*/


 

반응형
Comments