ランダムに生成された背景画像を設定したいと思います。
私は Meteor を使用しており、Flickr API を呼び出して、背景画像として設定したいランダムな画像 URL を提供しています。
私が読んだところによると、現在、CSS は背景画像を設定するための推奨される方法のようです。動的に生成された URL を CSS に挿入する方法はありますか? Handlebars.js と CSS の混合を示す例が見つからないようです - これは可能ですか? または、CSS を避けて、従来の HTML の方法を使用して背景画像を設定する必要がありますか?
私は2つの異なる戦略を試してきました:
1) ハンドルバーを介して挿入された URL を使用して HTML に CSS 属性を作成するには、CSS 属性をハンドルバーと連結できないようです。
2) 私が試したもう 1 つの方法は、CSS 属性をテンプレート コードの変数として作成し、それをハンドルバーを介して HTML に返すことです。
Template.backgroundImage.background = function(){
//runs function to generate url and add to Session object
FlickrRandomPhotoFromSet(setID);
//create variable with html and css attribute concatenated to url
var backgroundImage = '<div style="background-image: url('+Session.get("RandomURL")+')"></div>';
//return resultant variable to HTML via template
return backgroundImage;
};
次に、HTML に以下を挿入しました。
<template name="backgroundImage">
{{background}}
</template>