如何动态更改Meteor中的背景图像?

Mer*_*rio 1 meteor

我是流星的新手,对模板系统有点挣扎.

我想根据数据库中变量状态的变化来改变meteor中.body css类的background-image属性.

这是一个排行榜应用程序(来自示例)有两个玩家,当Joe的得分> 0时,背景图像应该是joe.png,否则它是jack.png.

谢谢你的提示 !

Aks*_*hat 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)');
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上Meteor.autorun将在其中使用的反应变量Players在这种情况下改变时运行该函数.因此,当您的玩家数据库更改时,它将运行此代码块.

  • 值得注意的是,"Meteor.autosubscribe"已从Meteor v0.55中折旧,转而将"Meteor.subscribe"放入"Meteor.autorun"中. (2认同)