AngularJS에서 한 페이지에 여러 컨트롤러 만들기

Muhammad Adil 2023년1월30일
  1. AngularJS에서 한 페이지에 여러 컨트롤러 만들기
  2. AngularJS의 한 페이지에서 여러 컨트롤러를 사용할 때의 이점
AngularJS에서 한 페이지에 여러 컨트롤러 만들기

AngularJS는 웹 애플리케이션에 사용되는 JavaScript 프레임워크입니다. 단일 페이지 애플리케이션으로 가장 유명하며 데이터 바인딩, 템플릿, MVC, 종속성 주입 등과 같은 기능을 제공합니다.

AngularJS는 코드를 컨트롤러와 뷰로 구성하는 방법을 제공합니다. 컨트롤러는 입력 유효성 검사, 데이터 검색 및 처리를 담당하고 뷰는 UI 구성 요소의 데이터 표시를 담당합니다.

단일 페이지 앱에서 여러 컨트롤러를 사용할 수 있습니다. 이렇게 하면 페이지를 다시 로드하지 않고도 서로 다른 페이지 사이를 보다 간단하게 탐색할 수 있어 사용자 경험이 향상됩니다.

여러 컨트롤러를 사용하면 개발자가 각 템플릿의 범위를 더 쉽게 이해할 수 있으며 불필요한 DOM 조작을 방지하여 성능을 향상시킬 수 있습니다.

또한 동일한 페이지에 둘 이상의 보기가 필요하거나 페이지의 다른 부분에 다른 보기가 필요한 경우 여러 컨트롤러가 좋은 솔루션입니다.

AngularJS에서 한 페이지에 여러 컨트롤러 만들기

여러 컨트롤러를 생성하려면 ng-controller 지시문을 사용하십시오. 범위와 컨트롤러 간의 연결을 설정합니다.

두 개의 컨트롤러를 만드는 방법에 대해 논의해 보겠습니다. 첫 번째 단계는 Home이라는 컨트롤러와 About이라는 두 개의 컨트롤러를 만드는 것입니다. Home 컨트롤러에는 홈 보기가 포함되고 About 컨트롤러에는 about 보기가 포함됩니다.

두 번째 단계는 home이라는 뷰와 about이라는 두 개의 뷰를 만드는 것입니다. Home 보기를 Home 컨트롤러에 배치하고 about 보기를 About 컨트롤러에 배치합니다.

이 기능을 달성하기 위해 ng-controller 지시문 대신 ngRoute 모듈과 함께 라우팅을 사용할 수도 있습니다.

예(자바스크립트 코드):

var app = angular.module('myApp', []);
app.controller('HomeController', function ($scope) {
    $scope.controllerName = "HomeController";
});
app.controller('AboutController', function ($scope) {
    $scope.controllerName = "AboutController";
});

예(HTML 코드):

<body ng-app="myApp">
    <h1>Example of Multiple Controllers</h1>
    <div ng-controller="HomeController"> Controller Name: {{controllerName}}
        <br>
        <input type="text" ng-model="message"/>
    </div>
    <br>
    <div ng-controller="AboutController"> Controller Name: {{controllerName}}
        <br> <br>
        <input type="text" ng-model="message"/>
    </div>
</body>

여기를 클릭하여 위 코드의 데모를 확인하십시오.

AngularJS의 한 페이지에서 여러 컨트롤러를 사용할 때의 이점

AngularJS에서 여러 컨트롤러를 사용하면 다음과 같은 이유로 유용합니다.

  • 서버에 대한 HTTP 호출 횟수를 줄입니다.
  • 데이터를 캐싱하여 성능을 향상시킵니다.
  • 코드와 컴포넌트를 쉽게 재사용할 수 있습니다.
  • 더 나은 관심사 분리를 제공합니다.
  • 디버깅 및 테스트에 도움이 됩니다.
Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook

관련 문장 - Angular Controller