programing

Angular에서 현재 스코프 돔 요소를 얻는 방법JS 컨트롤러?

copyandpastes 2023. 3. 15. 23:30
반응형

Angular에서 현재 스코프 돔 요소를 얻는 방법JS 컨트롤러?

외부 아이템 목록을 가지고 있습니다.각 outerItem 안에는 innerItems 목록이 있습니다.동적으로 정렬됩니다.

마우스 커서가 innerItems 중 하나를 가리킬 때 해당 innerItem 요소 바로 위에 팝업 창을 표시해야 합니다.

팝업 div는 body의 하위 항목입니다. 각 inner Item에 대해 별도의 팝업을 원하지 않기 때문입니다.

제가 보기엔 -ng-mouseover왼쪽/맨 위 속성을 설정하는 기능을 절대 위치 팝업으로 호출합니다.각 innerItems에 대해 jQuery라고 부릅니다..offset()페이지 왼쪽 상단 모서리에서 왼쪽/맨 위 값을 제공하는 메서드입니다.

현재 스코프 요소의 jQuery 개체를 가져오려면 어떻게 해야 합니까?아니면 내가 길을 잘못 선택했다면

컨트롤러 내:

function innerItem($scope, $element){
    var jQueryInnerItem = $($element); 
}

더 좋고 올바른 해결책은 지시사항을 갖는 것이다.이 범위는 디렉티브의 컨트롤러에서도 메인 컨트롤러에서도 동일합니다.사용하다$elementDOM 조작을 실행합니다.디렉티브 컨트롤러에서 정의된 메서드는 메인 컨트롤러에서 액세스할 수 있습니다.

예: 하위 요소 찾기:

var app = angular.module('myapp', []);
app.directive("testDir", function () {
    function link(scope, element) { 

    }
    return {
        restrict: "AE", 
        link: link, 
        controller:function($scope,$element){
            $scope.name2 = 'this is second name';
            var barGridSection = $element.find('#barGridSection'); //helps to find the child element.
    }
    };
})

app.controller('mainController', function ($scope) {
$scope.name='this is first name'
});

언급URL : https://stackoverflow.com/questions/12960701/how-do-i-get-current-scope-dom-element-in-angularjs-controller

반응형