각도에서 ng-repeat에서 요소를 제거한 후 범위를 업데이트하는 방법은 무엇입니까?

user4164635

내가 달성하려는 것은 내 그리드의 항목을 두 번 클릭하고 항목을 탐색 할 때 내 이동 경로가 업데이트된다는 것입니다. 하지만 이동 경로를 다시 클릭하면 이동 경로 이전 값이 제거되지만 두 번 클릭하여 다시 내부로 이동하면 이전 제거 값도 표시됩니다. 더 잘 이해할 수 있도록 코드와 이미지를 첨부하고 있습니다.

 <div id="breadCrumb"><div ng-click="breadCrumbFilter('^/xyz/$')" style="float:left;">xyz</div>
<div ng-repeat="bCrumb in bCrumbs" id="{{bCrumb.name}}" style="float:left;
" ng-click="breadCrumbFilter(bCrumb)">{{ bCrumb.name }}</div></div> 
var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function($scope) {
  $scope.filterOptions = {
    filterText: '^/xyz/$'
  };

   $scope.breadCrumbFilter = function(bCrumb) {
        var filterText = bCrumb.path;
        if(filterText == null){
             filterText = bCrumb;
    }
       var active = $scope.filterOptions.filterText;
         if ($scope.filterOptions.filterText === filterText) {

          $scope.filterOptions.filterText = filterText;
        }
        else if ($scope.filterOptions.filterText !== '' ) {

          $scope.filterOptions.filterText = filterText;
        }

        $scope.resetBreadcrumbs(filterText,active);
      };
      $scope.resetBreadcrumbs = function(fText,rActive){

          var reset = fText;

          var activeBreadcrumbs = rActive;

          activeBreadcrumbs = activeBreadcrumbs.substring(reset.length -1,     activeBreadcrumbs.lastIndexOf("/"));

          var myEl =  angular.element(document.getElementById('/ '+activeBreadcrumbs));

          myEl.remove();


      };
    $scope.filterFpath = function(row) {

     var fileName  = row.entity.name;
      var folderPath = row.entity.Full_Path;
      var newPath = folderPath+fileName+'/';
        var filterText = '^'+newPath+'$';
    if ($scope.filterOptions.filterText ==='^'+folderPath+'$') {
  $scope.filterOptions.filterText = filterText;
     }
else if ($scope.filterOptions.filterText === filterText) {
      $scope.filterOptions.filterText = '';
}
    $scope.addname('/ '+fileName,filterText);
   };
   $scope.bCrumbs = [] ;
          $scope.addname=function(name,path)
            {

            obj={};
            obj['name'] = name;
            obj['path'] = path;
              $scope.bCrumbs.push(obj);

            };
    var rowTempl = '<div ng-dblClick="filterFpath(row)" ng-style="{ \'cursor\': row.cursor   }" ng-repeat="col in renderedColumns" '+'ng-class="col.colIndex()" class="ngCell{{col.cellClass}}"><div ng-cell></div></div>';
  $scope.myData = [{name: "Moroni", Full_Path: "/xyz/"},
               {name: "Tiancum", Full_Path: "/xyz/Moroni/"},
               {name: "Jacob", Full_Path: "/xyz/"},
               {name: "Nephi", Full_Path: "/xyz/Moroni/Tiancum/"},
               {name: "Nephiss", Full_Path: "/xyz/"}];

  $scope.gridOptions = {
    data: 'myData',
    filterOptions: $scope.filterOptions,
 rowTemplate: rowTempl,
  };
});

지금 무슨 일이 일어나고 있는지 : 기본적으로 표시되는 이동 경로 'xyz'에 데이터가로드 될 때 첫 번째 이미지

enter image description here

  1. moroni를 두 번 클릭하면 내부로 이동하고 이동 경로가 업데이트됩니다.

enter image description here

  1. xyz를 클릭하면 다시 돌아옵니다.

enter image description here

  1. 다시 moroni 내부를 횡단하면 다음과 같이 표시됩니다.

enter image description here

What is the issue i am not able to figure it out.

Mayur

By seeing your code i found out that you are removing dom element but you are not deleting it from array so try finding index of the desired remove file and then use 'slice' in that.

Try something like this:

<div id="breadCrumb"><div ng-click="breadCrumbFilter('^/xyz/$')" style="float:left;">xyz</div>
<div ng-repeat="bCrumb in bCrumbs" id="{{bCrumb.name}}" style="float:left;
" ng-click="breadCrumbFilter(bCrumb,$index)">{{ bCrumb.name }}</div></div> 

   $scope.breadCrumbFilter = function(bCrumbs,$index) {
     $scope.bCrumbs.splice($index+1);
     var d = $scope.bCrumbs.length -1;
     path = bCrumbs[d].path;
    var filterText = path;
    if(filterText == null){
         filterText = bCrumb;
}
   var active = $scope.filterOptions.filterText;
     if ($scope.filterOptions.filterText === filterText) {

      $scope.filterOptions.filterText = filterText;
    }
    else if ($scope.filterOptions.filterText !== '' ) {

      $scope.filterOptions.filterText = filterText;
    }

  };

try this out.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

jQuery에서 각도 요소를 ng-repeat 요소로 수정하는 방법은 무엇입니까?

분류에서Dev

ng-repeat에서이 li 요소를 제거하는 방법은 무엇입니까?

분류에서Dev

각도기 : 텍스트로 ng-repeat에서 요소를 찾는 방법은 무엇입니까?

분류에서Dev

ng-repeat에서 클릭 한 항목에서만 필터를 제거하는 방법은 무엇입니까?

분류에서Dev

angularjs의 외부에서 ng-repeat 범위에 데이터를 추가하는 방법은 무엇입니까?

분류에서Dev

Laravel에서 업데이트 한 후 오래된 이미지를 삭제하는 방법은 무엇입니까?

분류에서Dev

ng-repeat 내부의 개체에서 요소를 삭제하는 방법은 무엇입니까?

분류에서Dev

함수에서 첫 번째 요소가 제거 된 후 연결된 목록의 pHead를 업데이트하는 방법은 무엇입니까?

분류에서Dev

ngAnimate를 사용하지 않고 ng-repeat에서 요소를 제거하는 동안 페이드 아웃 효과를 얻는 방법은 무엇입니까?

분류에서Dev

ngAnimate를 사용하지 않고 ng-repeat에서 요소를 제거하는 동안 페이드 아웃 효과를 얻는 방법은 무엇입니까?

분류에서Dev

각도기에서 ng-autocomplete에서 요소를 선택하는 방법은 무엇입니까?

분류에서Dev

삭제 한 후에도 부팅 옵션에서 "ubuntu"를 제거하는 방법은 무엇입니까?

분류에서Dev

각도기에서 ng-repeat 내부에서 isElementPresent / isPresent를 사용하는 방법은 무엇입니까?

분류에서Dev

Blazor에서 앵커를 클릭 한 후 HREF를 업데이트하는 방법은 무엇입니까?

분류에서Dev

범위에서 부동 각도를 제한하는 빠른 방법은 무엇입니까?

분류에서Dev

다른 구성 요소를 통해 속성을 업데이트 한 후 구성 요소가 Angular 2에서 렌더링되도록 트리거하는 방법은 무엇입니까? ngZone.run ()이 작동하지 않습니다.

분류에서Dev

mysql에서 업데이트 / 삽입으로 삭제 전 / 후에 대한 트리거를 만드는 방법은 무엇입니까?

분류에서Dev

nltk에서 불용어를 제거한 후 따옴표를 제거하는 방법은 무엇입니까?

분류에서Dev

Mac OSX에서 Google 소프트웨어 업데이트를 제거하는 방법은 무엇입니까?

분류에서Dev

Swift에서 UITabBarController에 대한 segue를 수행 한 후 UINavigationController를 제거하는 방법은 무엇입니까?

분류에서Dev

Swift에서 UITabBarController에 대한 segue를 수행 한 후 UINavigationController를 제거하는 방법은 무엇입니까?

분류에서Dev

ng-repeat 내에서 많은 요소를 조작하는 방법은 무엇입니까?

분류에서Dev

범위 개체에서 # N / A를 제거하는 방법은 무엇입니까?

분류에서Dev

ng-repeat에서 여러 요소를 분리하는 방법은 무엇입니까?

분류에서Dev

ng-show에서 동일한 요소를 두 번 이상 표시하는 방법은 무엇입니까?

분류에서Dev

각도 js ng-repeat에서 키의 중복 값을 제거하는 방법은 무엇입니까?

분류에서Dev

optaplanner에서 각 이동 후 코드를 트리거하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

`ng-if`를 사용하여 요소를 표시하고 앱 외부에서 값을 동적으로 업데이트하는 방법은 무엇입니까?

분류에서Dev

React : 후속 setState () 호출에서 this.state를 사용하는 방법? this.state에 강제로 업데이트하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    jQuery에서 각도 요소를 ng-repeat 요소로 수정하는 방법은 무엇입니까?

  2. 2

    ng-repeat에서이 li 요소를 제거하는 방법은 무엇입니까?

  3. 3

    각도기 : 텍스트로 ng-repeat에서 요소를 찾는 방법은 무엇입니까?

  4. 4

    ng-repeat에서 클릭 한 항목에서만 필터를 제거하는 방법은 무엇입니까?

  5. 5

    angularjs의 외부에서 ng-repeat 범위에 데이터를 추가하는 방법은 무엇입니까?

  6. 6

    Laravel에서 업데이트 한 후 오래된 이미지를 삭제하는 방법은 무엇입니까?

  7. 7

    ng-repeat 내부의 개체에서 요소를 삭제하는 방법은 무엇입니까?

  8. 8

    함수에서 첫 번째 요소가 제거 된 후 연결된 목록의 pHead를 업데이트하는 방법은 무엇입니까?

  9. 9

    ngAnimate를 사용하지 않고 ng-repeat에서 요소를 제거하는 동안 페이드 아웃 효과를 얻는 방법은 무엇입니까?

  10. 10

    ngAnimate를 사용하지 않고 ng-repeat에서 요소를 제거하는 동안 페이드 아웃 효과를 얻는 방법은 무엇입니까?

  11. 11

    각도기에서 ng-autocomplete에서 요소를 선택하는 방법은 무엇입니까?

  12. 12

    삭제 한 후에도 부팅 옵션에서 "ubuntu"를 제거하는 방법은 무엇입니까?

  13. 13

    각도기에서 ng-repeat 내부에서 isElementPresent / isPresent를 사용하는 방법은 무엇입니까?

  14. 14

    Blazor에서 앵커를 클릭 한 후 HREF를 업데이트하는 방법은 무엇입니까?

  15. 15

    범위에서 부동 각도를 제한하는 빠른 방법은 무엇입니까?

  16. 16

    다른 구성 요소를 통해 속성을 업데이트 한 후 구성 요소가 Angular 2에서 렌더링되도록 트리거하는 방법은 무엇입니까? ngZone.run ()이 작동하지 않습니다.

  17. 17

    mysql에서 업데이트 / 삽입으로 삭제 전 / 후에 대한 트리거를 만드는 방법은 무엇입니까?

  18. 18

    nltk에서 불용어를 제거한 후 따옴표를 제거하는 방법은 무엇입니까?

  19. 19

    Mac OSX에서 Google 소프트웨어 업데이트를 제거하는 방법은 무엇입니까?

  20. 20

    Swift에서 UITabBarController에 대한 segue를 수행 한 후 UINavigationController를 제거하는 방법은 무엇입니까?

  21. 21

    Swift에서 UITabBarController에 대한 segue를 수행 한 후 UINavigationController를 제거하는 방법은 무엇입니까?

  22. 22

    ng-repeat 내에서 많은 요소를 조작하는 방법은 무엇입니까?

  23. 23

    범위 개체에서 # N / A를 제거하는 방법은 무엇입니까?

  24. 24

    ng-repeat에서 여러 요소를 분리하는 방법은 무엇입니까?

  25. 25

    ng-show에서 동일한 요소를 두 번 이상 표시하는 방법은 무엇입니까?

  26. 26

    각도 js ng-repeat에서 키의 중복 값을 제거하는 방법은 무엇입니까?

  27. 27

    optaplanner에서 각 이동 후 코드를 트리거하는 가장 좋은 방법은 무엇입니까?

  28. 28

    `ng-if`를 사용하여 요소를 표시하고 앱 외부에서 값을 동적으로 업데이트하는 방법은 무엇입니까?

  29. 29

    React : 후속 setState () 호출에서 this.state를 사용하는 방법? this.state에 강제로 업데이트하는 방법은 무엇입니까?

뜨겁다태그

보관