HTML GUI 또는 UI 구성 요소를 캡슐화하는 데 사용되는 사용자 지정 요소 지시문을 작성하고 있습니다.angularjs에서 구성 요소와 유사한 지시자와 별도의 컨트롤러가 필요합니까?
app.directive('addresseseditor', function() {
return {
restrict: "E",
scope: {
addresses: "="
}, // isolated scope
templateUrl: "addresseseditor.html",
link: function(scope, element, attrs) {
scope.addAddress= function() {
scope.addresses.push({ "postCode": "1999" });
}
scope.removeAddress = function (index) {
scope.addresses.splice(index, 1);
}
}
}
});
이 방법을 정의하는 link
기능을 올바른 위치가 아니면 ng-controller
를 사용하여 별도의 컨트롤러 객체를 생성하는 것이 좋습니다 : 나는 같은 내 link
기능에 사용자 지정 방법 (즉, 등 ng-click
이벤트를 처리)를 추가하고 그리고 거기에 방법을 정의?
감사합니다. "지시문이 컨트롤러를 (같은 레벨에서) 공유 할 수 있음"을 명확히 할 수 있습니까? – matra
물론, 링크 함수의 네 번째 인수는 실제로 컨트롤러입니다. 이 인수는 같은 요소에있는 다른 지시어가'require' 속성과 함께 컨트롤러를 정의 할 때 사용할 수 있습니다 (실제로 필자는 require를 사용해야한다고 확신하지 못합니다. 고전적인 예제는'ng-model'이며'ngModelController'를 제공합니다. 동일한 요소에 있으면 교차 지시문 통신을위한 방법을 제공합니다. –