两者之间是否存在实际差异:
y = ko.observable("value");
x = ko.utils.unwrapObservable(y);
Run Code Online (Sandbox Code Playgroud)
和:
y = ko.observable("value");
x = y();
Run Code Online (Sandbox Code Playgroud)
我应该更喜欢上述之一吗?为什么?
Art*_*kov 43
不同之处在于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!
Run Code Online (Sandbox Code Playgroud)
因此,如果您确切知道您的参数是可观察的,则可以使用()否则使用unwrapObservable.
编辑:unwrapObservable在淘汰赛2.3中添加了更短的版本-ko.unwrap
| 归档时间: |
|
| 查看次数: |
13584 次 |
| 最近记录: |