要使用ReactiveVar,請通過在終端中運行,將reactive-var包添加到您的項目中:
ReactiveVar的構造函數(shù),表示單個無功變量。
要設置的初始值。 設置初始值時忽略equalsFunc。
可選的。 兩個參數(shù)的函數(shù),每當設置ReactiveVar時,都會調(diào)用舊值和新值。 如果返回true,則不執(zhí)行任何設置。 如果省略,則默認的equalsFunc返回true,如果它的參數(shù)是===并且是數(shù)字類型,布爾類型,字符串,未定義或null類型。
ReactiveVar包含一個可以被獲取和設置的值,這樣調(diào)用集合將會使任何調(diào)用get的計算失效,根據(jù)通常的被動數(shù)據(jù)源合同。
ReactiveVar類似于Session變量,有一些不同之處:
ReactiveVars沒有全局名稱,比如Session.get('foo')中的“foo”。相反,它們可以在本地創(chuàng)建和使用,例如附加到模板實例,如:this.foo.get()。
ReactiveVars不會自動遷移到熱代碼推送,而會話狀態(tài)是。
ReactiveVars可以保存任何值,而Session變量僅限于JSON或EJSON。
ReactiveVars的一個重要屬性?-有時是使用它的一個原因?-就是將值設置為與之前相同的值沒有效果;它不會觸發(fā)任何失效。 所以如果一個自動運行設置了一個ReactiveVar,而另一個自動運行獲得了ReactiveVar,那么第一個自動運行的重新運行不一定會觸發(fā)第二個自動運行。 默認情況下,只有原始值以這種方式進行比較,而對作為對象的參數(shù)(而不是原語)調(diào)用set始終算作改變。 您可以使用equalsFunc參數(shù)來配置此行為。
返回ReactiveVar的當前值,建立被動依賴關系。
設置ReactiveVar的當前值,如果newValue與舊值不同,則使得調(diào)用get的計算無效。