2013-02-12 55 views
1

我是新來的流星,有點與模板系統掙扎。如何動態更改Meteor中的背景圖片?

我想根據我的數據庫中變量的狀態變化來更改流星中的.body css類的background-image屬性。

這是一個排行榜的應用程序(從這個例子中)有兩個玩家,當Joe的得分大於0時,背景圖像應該是joe.png,否則就是jack.png。

感謝您的提示!

回答

6

在(isClient)添加這個方框

Meteor.autorun(function() { 
    if(Players.findOne({name:"Joe"}).score > 0) { 
     $('body').css('background-image','url(/joe.png)'); 
    } 
    else 
    { 
     $('body').css('background-image','url(/jack.png)'); 
    } 
} 

基本上Meteor.autorun將運行功能時所使用的反應性變量在其內部在這種情況下改變Players。所以當你的玩家數據庫發生變化時,它會運行這段代碼。 ():

+0

嘿謝謝你的提示,讓我在正確的軌道上,但我需要在.css()的第二個參數中添加「url()」:) '$('body').css 'background image','url(/joe.png)');' – Mercutionario 2013-02-13 10:42:15

+0

我改正它添加網址 – Akshat 2013-02-13 10:47:53

+0

Aaaaand顯然它是'autosubscribe'你的意思,而不是'autorun',因爲我偶然發現了同樣的問題[this一個](http://stackoverflow.com/questions/11978663/meteor-collection-query-undefined),返回的對象是「未定義」。有了'autosubscribe',它就像魅力一樣運行。 – Mercutionario 2013-02-13 14:03:19