从v0.9开始,“魔术模式”被删除 我们现在应该如何处理此示例中的方案:
更新费率时全局配置更新所有价格
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
在示例中只有一个Ractive实例,但是假设您在页面上有几个不同的实例,并且它们都使用相同的配置,并且应该动态更新任何速率更改。它们确实应该是单独的根实例,而不是嵌套组件 例如,如果您以管理员身份登录 - 管理员面板可以按需显示,它就像另一个应用程序,但依赖于相同的配置。
答案 0 :(得分: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