AngularJS 제어기 및 방법
저는 컨트롤러에 대해 몇 가지 질문이 있는 angularjs 초보자입니다.
컨트롤러의 예시는 다음과 같습니다.
function exampleController($scope)
{
$scope.sampleArray = new Array();
$scope.firstMethod = function()
{
//initialize the sampleArray
};
$scope.secondMethod = function()
{
this.firstMethod();
};
};
제 질문은 다음과 같습니다.
- 전화하는 방법
firstMethod
부터secondMethod
? 제가 한 방법이 맞습니까, 아니면 더 나은 방법입니까? - 컨트롤러용 컨스트럭터를 생성하려면 어떻게 해야 합니까?sampleArray를 초기화하는 첫번째 Method를 호출하는 두번째 Method를 호출해야 합니까?
- html 코드에서 특정 메소드를 호출하려면 어떻게 해야 합니까?ng-initialize를 찾았는데 어떻게 사용하는지 모르겠어요.
선언한 방식과 동일하게 메소드를 호출합니다.
$scope.secondMethod = function() {
$scope.firstMethod();
};
HTML에서 다음과 같이 호출할 수 있습니다.
<span>{{secondMethod()}}</span>
그러나 컨트롤러에는 "컨스트럭터"가 없습니다. 일반적으로 기능과 동일하게 사용됩니다.그러나 컨트롤러 기능에 초기화를 넣을 수 있으며, 생성자처럼 초기화가 실행됩니다.
function exampleController($scope) {
$scope.firstMethod = function() {
//initialize the sampleArray
};
$scope.secondMethod = function() {
$scope.firstMethod();
};
$scope.firstMethod();
}
첫 번째 방법은 $scope을 사용하여 호출합니다.
그렇게
$scope.secondMethod = function()
{
$scope.firstMethod();
};
두 번째 질문에서 무슨 뜻인지 잘 모르겠습니다.
세 번째 질문의 경우, 메소드를 컨트롤러에서 자동으로 "onload(온로드)" 실행하게 하거나, 프론트엔드 각도 바인딩을 통해 실행할 수 있습니다.
예: 자동 실행
function exampleController($scope)
{
$scope.sampleArray = new Array();
$scope.firstMethod = function()
{
//initialize the sampleArray
};
$scope.secondMethod = function()
{
$scope.firstMethod();
};
$scope.secondMethod(); // runs automatically.
};
바인딩 시 실행
<div ng-controller="ExampleController"> <!-- example controller set up in namespace -->
<button class="btn" ng-click="secondMethod()">Run Second Method</button>
</div>
@Josh와 @Christopher는 이미 당신의 질문을 다루었으므로, 다시는 말씀드리지 않겠습니다.
ng-initialize를 찾았는데 사용법을 모르겠어요 :-(
명령이 실제로 ng-init입니다.때때로(예: 응용프로그램의 일부에서 Angular를 사용하기 시작할 때 여전히 뷰/HTML 페이지 서버 측을 동적으로 생성해야 하는 경우) ng-init는 때때로 초기화하는 데 유용한 방법이 될 수 있습니다.예.,
<div ng-controller="ExampleCtrl">
<form name="myForm">
<input type="text" ng-model="folder" ng-init="folder='Bob'">
ng-init: 레일 + angularjs 값을 편집할 때 텍스트 필드로 로드하는 ng-init를 사용해야 했던 예는 다음과 같습니다.
컨트롤러는 싱글턴이 아니라는 점도 언급하고 싶습니다.ng-view를 사용하는 경우 다른 경로로 이동할 때마다 새로운 컨트롤러가 생성됩니다.떠나려는 보기와 관련된 컨트롤러가 파괴되고, 떠나려는 보기와 관련된 컨트롤러가 실행됩니다.따라서 컨트롤러의 "초기화 코드"는 앱이 실행되는 동안 여러 번 실행될 수 있습니다.예를 들어, 페이지를 방문하고 다른 곳으로 갔다가 돌아온 경우 동일한 컨트롤러 기능(및 "초기화 코드")이 두 번 실행됩니다.
어떤 것이 진정으로 한 번 실행되기를 원한다면, 그것을 서비스에 넣거나 모듈의 config() 또는 run() 메서드에 넣으십시오. (서비스는 단일 요소이므로 각 서비스는 한 번만 인스턴스화되므로 서비스의 초기화 코드는 한 번만 실행됩니다.)
언급URL : https://stackoverflow.com/questions/14407999/angularjs-controller-and-methods
'programing' 카테고리의 다른 글
jQuery를 사용하여 둘째 자녀 가져오기 (0) | 2023.10.18 |
---|---|
구글의 트루타임 API 복제가 어려운 이유는? (0) | 2023.10.18 |
Listagg 함수 및 ORA-01489: 문자열 연결 결과가 너무 깁니다. (0) | 2023.10.13 |
c 프로그램으로 데이터를 플롯하는 방법은? (0) | 2023.10.13 |
브라우저에서 웹소켓 핑/퐁 프레임 전송 (0) | 2023.10.13 |