之间是否存在实际差异:
y = ko.observable("value");
x = ko.utils.unwrapObservable(y);
和:
y = ko.observable("value");
x = y();
我应该更喜欢上述之一吗?为什么?
最佳答案
不同的是ko.utils.unwrapObservable
是安全的。当不知道参数是否可观察时,您应该使用它。
例如:
function GetValue(x){
return ko.utils.unwrapObservable(x);
}
function GetValueEx(x){
return x();
}
var test = 5;
var y = GetValue(test) // Work fine, y = 5;
y = GetValueEx(test) // Error!
所以如果你确切地知道你的参数是可观察的,你可以使用
()
否则使用 unwrapObservable
.编辑:
unwrapObservable
的较短版本已在 knockout 2.3 中添加 - ko.unwrap
关于knockout.js - unwrapObservable 和 () 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16710425/