공식적으로 지원되는 Firebase 용 backbone.js 바인딩을 사용하여 Firebase에서 모델의 데이터를 검색 할 수 없습니다.Backfire 바인딩을 사용하여 모델에서 패치를 수행하면 데이터가 검색되지 않습니다.
예를 들어, 나는 중포 기지의 기준에 따라 저장된 사용자 # 2에 대한 모든 정보를 가져 오기하려면 : 내 사용자에게 고유 한 ID로 새로운 사용자 모델을 만들 것
https://app.firebaseio.com/users/2
이 작업을 수행하는 방법 및 그 모델에 가져 호출이에서
var ProfileModel = Backbone.Model.extend({
initialize: function() {
console.log('Profie Model');
},
firebase: new Backbone.Firebase("https://app.firebaseio.com/users"),
});
var userProfile = new ProfileModel({id: "2"});
userProfile.fetch({
success: function (model, response, options) {
console.log(model);
console.log(response);
console.log(options);
userProfile.set({test: "test value"});
userProfile.save();
},
error: function() {
alert('Something went wrong!');
}
});
은 성공 콜백 해고되지만 데이터가 중포 기지에서 모델에 추가되지 않고 응답이 정의로 반환됩니다 니펫을. 그러나 테스트 값이 모델에 설정되고 save()가 호출되면 데이터가 Firebase에 올바르게 저장됩니다.
바인딩은 id 속성을 사용하여 사용자 # 2에 대한 경로를 만들 때 urlRoot를 모델에 설정할 필요가 없다고 가정합니다.
readme에서 설명한 것처럼 firebase 객체가 모델이나 컬렉션에 추가되면 Firebase를 대신 사용하여 백본 동기화를 재정의합니다. 바인딩 자체를 파고 가기 전에 어떤 제안이라도 대단히 감사하겠습니다.
나는 firebase에 대한 경험이 없지만 사용자의 ID 속성은 실제로 문자열입니까, 아니면 숫자입니까? var userProfile = new ProfileModel ({id : "2"}); – damienc88
답장을 보내 주셔서 감사합니다. 놀랍게도 ID가 문자열 인 경우 ID가 백본에서 정수로 변환 될 수 있습니다. –