2017-02-16 9 views
0

각 행을 인라인으로 편집 할 수있는 간단한 리피터가 있습니다. 해당 리피터의 일부로 새로운 행을 추가 할 때 정적 인 것이 아니라 편집 가능한 상태가되고 싶습니다. Add 버튼에 $ scope.editable = true를 추가하려고하면 전체 repeater를 편집 가능하게 만듭니다. http://plnkr.co/edit/tVOLYm2mg5be2L6NpM6k?p=preview편집 가능한 상태에서 새 행 추가

$scope.addRow = function() { 
    $scope.accounts.unshift({ name: 'Enter Name', id: 'Enter ID', code: 'Enter Code'}); 
    //$scope.editable = true; 
} 

사람이 내가 달성하기 위해 노력하고있어 지원할 수 : 여기

는 plunker 내 코드를 보여주는거야?

감사

답변

1
$scope.editable = false; 

이 문은 부모 범위 및 NG-반복에서 편집 가능한 값을 설정은 모든 반복에 대한 아이의 범위를합니다. 그 개념을 이해해야합니다. Look at this question을 이해하십시오.

이제 원하는 것을 구현하는 더 좋은 방법은 행을 편집 또는 편집 할 수 없도록 계정 배열의 모든 계정 개체에 새 속성을 추가하는 것입니다. 당신은 기존 데이터에 editable 속성을 추가 할 필요가 없습니다, 대신 editable를 사용하는

$scope.accounts.unshift({ 
     name: 'Enter Name', 
     id: 'Enter ID', 
     code: 'Enter Code', 
     editable: true 
    }); 

및 HTML로를 account.editable

을 사용하여 계정을 unshifting 때마다

그래서, 다음과 같이 존재하지 않는 속성은 암묵적으로 위조되어 그리드가 자동으로 편집 불가능 모드로 자동 전환됩니다.

+1

무슨 뜻인지 알 겠어. 내 데이터와 unshift 스크립트에 동일한 코드를 추가하려했지만 HTML 쪽에서 올바르지 않았기 때문에 작동하지도 않았습니다. @Pranav Jindal에게 많은 감사를드립니다! –

+0

또한 하이퍼 링크 된 질문과 설명을 읽으십시오. 정말 무슨 일이 일어나는지 이해하게 만들 거에요. – pranavjindal999