programing

명령어 정의에서 객체를 반환하는 것과 함수를 반환하는 것의 차이점

shortcode 2023. 2. 23. 23:25
반응형

명령어 정의에서 객체를 반환하는 것과 함수를 반환하는 것의 차이점

다음 코드(Widget Uno에서)와 명령어 정의 개체(제 생각에는...)를 사용하는 경우의 기능 차이는 무엇입니까??)...

angular.module("app").
    directive("widgetUno", ["$http", function ($http) {
        return {
                // A whole bunch of crap going on here
            },
            templateUrl: "widgetUno.html"
        };
    }]);

Widget DOS의 이 코드는?

angular.module("app").directive('widgetDos', function($http) {
    return function(scope, element, attrs) {
        // A whole bunch of crap going on here
    };
});

Widget Uno와 같은 디렉티브를 Widget Dos로 변환하려고 하는데 templateUrl은 어디서 참조할 수 있습니까?Widget DOS에서 가능합니까?

명령어 내의 함수만 반환하는 것은 다음 명령어를 줄임말일 뿐입니다.link기능을 합니다.

다른 것을 지정하는 경우link기능하다templateUrl그럼 길게 써야 합니다.

angular.module("app").
    directive("widgetUno", ["$http", function ($http) {
        return {
          link: function(scope, element, attrs) {
             // A whole bunch of crap going on here
          },
          templateUrl: "widgetUno.html"
        };
    }]);

이 차이는 실제로 여기서 문서화되어 있습니다.http://docs.angularjs.org/guide/directive

함수를 반환하는 것은 실제로 다음 항목에 대한 바로 가기입니다.

angular.module("app").directive('widgetDos', function($http) {
    return {
        link: function(scope, element, attrs) {
            //...
        };
    }
});

지시문에 템플릿이나 컨트롤러 등이 필요 없는 경우에 사용합니다.그 외에는 두 가지 호출 접근법 사이에 기능적인 차이는 전혀 없습니다.

다음과 같이 동작합니다.

angular.module("app").directive('widgetDos', function($http) {
    return {
        templateUrl: "....",
        link: function(scope, element, attrs) {
            // A whole bunch of crap going on here
        };
    }
});

http://docs.angularjs.org/guide/directive (롱버전)도 참조해 주세요.한 가지 예가 있습니다.

언급URL : https://stackoverflow.com/questions/18344252/differences-between-returning-an-object-vs-a-function-in-a-directive-definition

반응형