Link 함수에서 addClass 사용과 AngularJS의 Compile 함수에서 uisng addClass 사용

사용자 4904589

누구든지이 코드에서 무슨 일이 일어나고 있는지 설명 할 수 있습니까? 나는 link함수가 이후에 실행 된다는 것을 이해합니다 compile.

link vs compile.js is :

var app = angular.module('myApp', []);
app.directive('highlight', function () {
    return {
        restrict: 'A',
        compile: function ($element, $attr, $transclude) {
            console.log('executed highlight');
            $element.addClass("highlight");
            //$element.addClass("red");

        }
    };
});

app.directive('red', function () {
    return {
        restrict: 'A',
        link: function ($scope, $element, $attr) {
            console.log('executed red');
            $element.addClass("red");
            //$element.addClass("highlight");

        }
    };
});

link vs compile.html is :

<!DOCTYPE html>

<html ng-app="myApp">
    <head>
        <script src="js/angular.js" type="text/javascript"></script>
        <script src="js/link vs compile.js" type="text/javascript"></script>

        <style type="text/css">
            .highlight{
                background:yellow;
            }

            .red{
                background: red;
            }

        </style>

    </head>
    <body>

        <div ng-repeat="word in ['abc','def','ghi']" red highlight >
            {{word}}
        </div>


    </body>
</html>

위의 결과는 나중에 실행 된 div것처럼 의미가있는 빨간색 배경색으로 나타나 link므로 효과 compile함수를 덮어 썼을 수 있습니다 . 그러나이 link vs compile.js형식으로 변경 하면 :

var app = angular.module('myApp', []);
app.directive('highlight', function () {
    return {
        restrict: 'A',
        compile: function ($element, $attr, $transclude) {
            console.log('executed highlight');
            //$element.addClass("highlight");
            $element.addClass("red");

        }
    };
});

app.directive('red', function () {
    return {
        restrict: 'A',
        link: function ($scope, $element, $attr) {
            console.log('executed red');
            //$element.addClass("red");
            $element.addClass("highlight");

        }
    };
});

지금 divred배경입니다. 그 이유는 무엇입니까? 경우 link함수는해야하지 나중에 실행 된 divyellow색상을?

코드 @ http://plnkr.co/edit/RJtnuVHtZvgFAraG2eVa?p=preview

타스 님 레자

이는 없다 AngularJS와에 대해 아무것도 link 또는 compile이 약이다, css같은

<div class="highlight red">my div</div> 

수업 순서를 변경해도 아무 일도 일어나지 않습니다.

<div class="red highlight">my div</div>

자세한 내용 : CSS 클래스의 순서를 지정하는 방법은 무엇입니까?

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

addClass / removeClass에서 여러 변수 사용

분류에서Dev

사이트에서 작동하지 않는 jQuery addClass 함수

분류에서Dev

jQuery post 함수를 사용하면 반환 된 링크에서 addClass 함수를 실행할 수 없습니다.

분류에서Dev

if 문의 jQuery addClass () 함수

분류에서Dev

addClass 내에서 사용될 때 addEventListener가 작동하지 않음

분류에서Dev

사용자 정의 JavaScript addClass 메소드

분류에서Dev

jQuery에서 'click'과 'addClass'사이에 지연을 추가 할 수 있습니까?

분류에서Dev

jQuery에서 'click'과 'addClass'사이에 지연을 추가 할 수 있습니까?

분류에서Dev

jQuery : addclass () 사이의 지연

분류에서Dev

execcommand에 addclass 메소드 적용

분류에서Dev

버튼에 addClass ()

분류에서Dev

jQuery에서 잘못된 유효성을 검사하는 각 입력의 addClass

분류에서Dev

클릭 angularJS에서 숨겨진 addClass

분류에서Dev

AngularJS $ animate.addClass가 addClass 함수를 실행하지 않습니다.

분류에서Dev

AngularJs에서 여러 함수 사용

분류에서Dev

.addClass를 사용할 때 목록 항목의 색상을 변경할 수 없습니다.

분류에서Dev

Excel의 배열 수식에서 if 문과 함께 and () 수식 사용

분류에서Dev

jQuery에서 전환 addClass 및 removeClass 애니메이션 / 적용?

분류에서Dev

메뉴에 JQuery addClass

분류에서Dev

R의 함수에서 Flextable 사용

분류에서Dev

KeyError : 사용자 정의 함수에서

분류에서Dev

$ (el) .addClass ( 'example'); 사용 하지만 부하에 추가하지 않습니까?

분류에서Dev

JavaScript : 요소가 animate.css를 사용하여 뷰포트에있을 때 addClass

분류에서Dev

다른 함수에서 함수의 사용자 변수

분류에서Dev

caffe의 __global__ 함수에서 CUDA 수학 함수 사용

분류에서Dev

함수 내에서 data.frame의 값 바꾸기 (적용과 함께 사용)

분류에서Dev

다른 함수에서 함수의 결과를 사용하고 싶습니다.

분류에서Dev

SQL의 사용자 정의 함수 내에서 함수 호출

분류에서Dev

Matlab과 유사한 Python의 외부 함수에서 전역 변수 사용

Related 관련 기사

  1. 1

    addClass / removeClass에서 여러 변수 사용

  2. 2

    사이트에서 작동하지 않는 jQuery addClass 함수

  3. 3

    jQuery post 함수를 사용하면 반환 된 링크에서 addClass 함수를 실행할 수 없습니다.

  4. 4

    if 문의 jQuery addClass () 함수

  5. 5

    addClass 내에서 사용될 때 addEventListener가 작동하지 않음

  6. 6

    사용자 정의 JavaScript addClass 메소드

  7. 7

    jQuery에서 'click'과 'addClass'사이에 지연을 추가 할 수 있습니까?

  8. 8

    jQuery에서 'click'과 'addClass'사이에 지연을 추가 할 수 있습니까?

  9. 9

    jQuery : addclass () 사이의 지연

  10. 10

    execcommand에 addclass 메소드 적용

  11. 11

    버튼에 addClass ()

  12. 12

    jQuery에서 잘못된 유효성을 검사하는 각 입력의 addClass

  13. 13

    클릭 angularJS에서 숨겨진 addClass

  14. 14

    AngularJS $ animate.addClass가 addClass 함수를 실행하지 않습니다.

  15. 15

    AngularJs에서 여러 함수 사용

  16. 16

    .addClass를 사용할 때 목록 항목의 색상을 변경할 수 없습니다.

  17. 17

    Excel의 배열 수식에서 if 문과 함께 and () 수식 사용

  18. 18

    jQuery에서 전환 addClass 및 removeClass 애니메이션 / 적용?

  19. 19

    메뉴에 JQuery addClass

  20. 20

    R의 함수에서 Flextable 사용

  21. 21

    KeyError : 사용자 정의 함수에서

  22. 22

    $ (el) .addClass ( 'example'); 사용 하지만 부하에 추가하지 않습니까?

  23. 23

    JavaScript : 요소가 animate.css를 사용하여 뷰포트에있을 때 addClass

  24. 24

    다른 함수에서 함수의 사용자 변수

  25. 25

    caffe의 __global__ 함수에서 CUDA 수학 함수 사용

  26. 26

    함수 내에서 data.frame의 값 바꾸기 (적용과 함께 사용)

  27. 27

    다른 함수에서 함수의 결과를 사용하고 싶습니다.

  28. 28

    SQL의 사용자 정의 함수 내에서 함수 호출

  29. 29

    Matlab과 유사한 Python의 외부 함수에서 전역 변수 사용

뜨겁다태그

보관