knockout.js - knockout - Diferencia entre unwrapObservable y()
knockout js lifecycle (1)
La diferencia es que ko.utils.unwrapObservable
es seguro. Debe usarlo cuando no sepa si el parámetro es observable o no. Por ejemplo:
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!
Entonces, si usted sabe exactamente que su parámetro es observable, puede usar ()
contrario, use unwrapObservable
.
EDITAR: se ha agregado una versión más corta de unwrapObservable
en knockout 2.3 - ko.unwrap
¿Hay una diferencia real entre:
y = ko.observable("value");
x = ko.utils.unwrapObservable(y);
y:
y = ko.observable("value");
x = y();
¿Debería preferir uno de los anteriores y por qué?