有没有办法允许 undefined variable 作为 null 传递给 Firebase?在我的应用程序中,我遇到了很多可能 undefined variable 的情况,这会阻止将整个对象模型添加到 firebase 中。所以我必须检测是否定义了每个潜在变量,如果没有定义则将其设置为 0。如果 Firebase 只接受 0 或 null 的 undefined variable ,事情就会容易得多。
最佳答案
如果初始值为 falsy,您可以使用逻辑 OR 运算符传递 null
。
ref.set(someValue || null);
你必须记住的是,这里有很多条件会导致 null
(0
, false
, ''
、undefined
、NaN
等)。
或者,您可以编写一个辅助函数,通过更清晰的检查来包装此行为。
function safeSet(ref, val) {
if(val == undefined) {
ref.set(null);
} else {
ref.set(val);
}
}
如果需要,您甚至可以将该函数修补到 Firebase 引用原型(prototype)中。
Firebase.prototype.safeSet = function safeSet(val) {
if(typeof val == 'undefined') {
this.set(null);
} else {
this.set(val);
}
};
这将允许您直接在现有的 Firebase 引用上调用 safeSet
方法。
var ref = new Firebase("myapp.firebaseio.com");
var val = [1, 2, 3][-1];
ref.safeSet(val);
关于angularjs - 允许 undefined variable 作为 null 传递到 Firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36829228/