0

jQuery が Angular に組み込まれると、ディレクティブ内で DOM 操作に $(element) と $(this) の両方を自由に使用できるようになります。

それらの違いは何ですか?どちらが推奨されますか?それらは交換可能ですか?

4

2 に答える 2

3

$(this)実行されるメソッドのコンテキストに依存し、$(element)常にディレクティブが添付されているものを参照します。

ここに不自然な例があります

module.directive('myDirective', [function() {
    return {
        template: '<div><button id="btn">Click Me</button></div>',
        restrict: 'E',
        link: function(scope, element, attrs, controller) {
                $("#btn").on('click', function() {
                    // $(this) != $(element)
                    // $(this) is the button element from the template
                    // $(element) is the directive element
                });
            }
        }
}]);
于 2013-10-07T15:05:15.920 に答える