source

AngularJS 지시 콜백

nicesource 2023. 11. 5. 14:44
반응형

AngularJS 지시 콜백

태그의 매개변수를 통해 지시문으로 다시 호출을 보내고 지시문 안에서 적절한 경우 해당 방법을 호출하고자 합니다.예를 들어 버튼을 클릭하면 상위 컨트롤러에서 메서드를 호출합니다.

나는 그것이 작동하지 않는 단순한 실패를 가지고 있습니다.

html 파일:

<body ng-controller="ParentController">
    <h1> Method Arguments </h1>
    <h3> open console to view output</h3>
    <hello-world onLoadCallback="myCallback(arg1)"></hello-world>
</body>

javascript 파일:

var app = angular.module("app",[]);

function ParentController($scope) {
  $scope.myCallback = function(var1){
    console.log("myCallback", var1);
  }
}
app.directive('helloWorld', function() {
  return {
      restrict: 'AE',
      template: '<h3>Hello World!!</h3>',
      scope:{
            onLoadCallback: '&'
        },
        link: function(scope, element, attrs, dateTimeController) {
            console.log('linked directive, not calling callback')
            scope.onLoadCallback('wtf');

      }
  };
});

까다로운 각도, HTML에서 인수를 선언할 때 일치시킬 낙타케이스 대신 뱀케이스를 사용해야 합니다.

작업:

<hello-world on-load-callback="myCallback(arg1)"></hello-world>

작동하지 않음:

<hello-world onLoadCallback="myCallback(arg1)"></hello-world>

또한 콜백은 다음과 같습니다.

scope.onLoadCallback({arg1: 'wtf'});

그런 다음 명명된 매개 변수는 콜백 속성에 사용되는 해당 매개 변수에 바인딩됩니다(모든 매개 변수를 사용할 필요는 없습니다).

언급URL : https://stackoverflow.com/questions/24640284/angularjs-directive-callback

반응형