2016-08-23 1 views
0

I는 다음과 같이 초기화되는 동기화 개체가 :AngularFire/Firebase - 한 단계 이상의 열쇠를 삭제하는 방법은 무엇입니까?

var sync = $firebase(ref); 
var syncObject = sync.$asObject(); 
syncObject.$bindTo($scope, 'data'); 

동기화 된 객체는 다음과 같은 구조가 있습니다

{ 
    levelone: { 
     leveltwo: { 
      valueone: 1 
      valuetwo: 2 
     } 
    } 
} 

내가 $remove()와 값 중 하나를 제거 할 것인지를하지만, 나는 이 방법으로 전체 개체 이외의 다른 개체를 삭제할 수 없습니다. 나는 전체 동기화 개체를 덮어 $save()를 사용하지 않으

syncObject.$remove('levelone.leveltwo.valueone'); 

:

다음은 전체 개체를 삭제합니다.

$remove()으로 중첩 키를 삭제할 수 있습니까?

답변

0

$remove() 기능으로 여러 레이어를 드릴하는 방법이 없습니다. 나는 바닐라 Firebase JS 라이브러리 메소드를 사용하여 삭제 작업을 마무리했다.

var ref = new Firebase(myFirebaseURL); 
// The child() method (from the vanilla JS library) allows you to target keys 
// more than one level deep 
ref.child('levelone/leveltwo/valueone').remove(); 
var sync = $firebase(ref); 

넌 체인 다음 child() 일본어 JS 중포 기지 클래스 객체의 오프 기능 및 그 해제 remove() 방법을 실행할 수있다 (이것은 remove() 방법 아닌 $remove() 방법 통지).

관련 문제