2014-09-07 44 views
11

những gì tôi về cơ bản muốn làm là thế này:căn cứ hỏa lực, biến như tên gọi chính

variable = 'whatever'; 
fb.set({ variable : "More Stuff" }); 

Vì vậy, đây sẽ dẫn đến một mục mà trông giống như:

whatever: "More Stuff" 

Hiện nay nó chỉ kết thúc lên như

variable: "More Stuff" 

Việc này có thể thực hiện được không?

+2

Trong trường hợp bạn muốn tên của mục nhập có thể thay đổi, chỉ cần thực hiện * var newRef = new Firebase ("https://your-fb-id.firebaseio.com/" + variable); * –

Trả lời

17

Đối với phiên bản mới nhất của căn cứ hỏa lực, khung sử dụng xung quanh tên biến:

firebase.database().ref("pathName").set({[variable] : 'MoreStuff'}); 

Sử dụng phương pháp khác thiết lập các chỉ số của biến để giá trị sẽ tạo ra một lớp bổ sung trong cấu trúc cơ sở dữ liệu.

+1

Tôi có thể sử dụng cùng phương pháp đẩy không? – Santosh

16

Có. Mã này không hoạt động như mong đợi bởi vì bạn đang sử dụng ký hiệu chữ của đối tượng, đó là lý do nó giữ tên biến là khóa, vì đó là cách ký hiệu hoạt động.

Giải pháp

foo = {}; 
foo[variable] = 'more stuff'; 
fb.set(foo); 
+0

Là x foo trong trường hợp này? –

+0

@MattCoady vâng, tôi đã đổi thành foo;) –

+1

Điều này thực sự đặt một khóa '' 'foo''' với giá trị' '' [biến]: 'thêm nội dung''''. – WikipediaBrown

Các vấn đề liên quan