2017-06-26 15 views
0

v0.9以降、「マジックモード」が削除されました。
どのように我々は今、このサンプルのようなシナリオを処理する必要があります率のグローバル設定は一つだけRACTIVEインスタンスがあるサンプルで
http://jsfiddle.net/Inversion/7an5hdb5/マジックモードなしでグローバル設定を処理する方法は?

conf = 
    g_currency_exchange_rates: 
     usd:27 

win.r = new Ractive 
    el: 'cont' 
    template: '#tpl' 
    magic:true 
    data: 
     conf:conf 
     items_prices_usd: [5, 10, 25] 
     in_uah: (v)-> v * @get 'conf.g_currency_exchange_rates.usd' 

update_rate = -> 
    conf.g_currency_exchange_rates.usd += Math.round(Math.random()*2-1) 
setInterval update_rate, 500 

を更新したときに、すべての価格を更新

が、あなたを想像ページ上でいくつかの違いがあり、すべて同じ設定を使用し、レートの変更を動的に更新する必要があります。そして、実際には、ネストされたコンポーネントではなく、別々のルートインスタンスである必要があります。
たとえば、admin - adminパネルとしてログインしている場合はオンデマンドで表示することができ、別のアプリに似ていますが、同じ設定に依存しています。

答えて

0

インスタンスへの参照があると仮定すると、新しいデータを設定した後にractive.update()を呼び出すことができます。

https://jsfiddle.net/artvhvpo/

console.clear();win=window 

conf = 
    g_currency_exchange_rates: 
     usd:27 

win.r = new Ractive 
    el: 'cont' 
    template: '#tpl' 
    magic:true 
    data: 
     conf:conf 
     items_prices_usd: [5, 10, 25] 
     in_uah: (v)-> v * @get 'conf.g_currency_exchange_rates.usd' 

update_rate = -> 
    conf.g_currency_exchange_rates.usd += Math.round(Math.random()*2-1);win.r.update() 
setInterval update_rate, 500 
+0

はい、しかし、どのような多くのRACTIVEの場合、多くの異なるconfにプロパティが存在する場合に変更することができます。 マジックモードは私のためにすべてをコントロールしていたので、どこにアップデートを置くべきか、何のために何を覚えておく必要はありませんでした。 – Inversion

関連する問題