2017-05-20 18 views

回答

2

查看源代碼: http://knockoutjs.com/downloads/knockout-3.4.2.debug.js

當可觀察到的被調用,有一個新的值,該方法observable.isDifferent被調用,這又調用下面的函數,來測試該值是否不同。

因此,在回答您的問題時,如果您提供的值是原始且不同的,或者是非原始的,則可以通知observable的用戶。

var primitiveTypes = { 'undefined':1, 'boolean':1, 'number':1, 'string':1 }; 

function valuesArePrimitiveAndEqual(a, b) { 
    var oldValueIsPrimitive = (a === null) || (typeof(a) in primitiveTypes); 
    return oldValueIsPrimitive ? (a === b) : false; 
} 
相關問題