मैं <ul>
तत्व की ऊंचाई, चौड़ाई और पृष्ठभूमि छवि सेट करने का प्रयास कर रहा हूं।बैकबोन की गतिशील सीएसएस-शैली गुणों को सेट करना।
यहाँ क्या मैं अपने Backbone.View के लिए लिया है:
var RackView = Backbone.View.extend({
tagName: 'ul',
className: 'rack unselectable',
template: _.template($('#RackTemplate').html()),
render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
},
attributes: function() {
var isFront = this.model.get('isFront');
var imageUrlIndex = isFront ? 0 : 1;
return {
'background-image': 'url(' + this.model.get('imageUrls')[imageUrlIndex] + ')',
'height': this.model.get('rows') + 'px',
'width': this.model.get('width') + 'px'
};
}
}
इसका कारण यह है गुण तत्व की 'शैली' संपत्ति में लिखा नहीं कर रहे हैं काम नहीं करता। इसके बजाए, उन्हें विशेषताओं की तरह माना जाता है ... जो फ़ंक्शन नाम की वजह से समझ में आता है, लेकिन इसने मुझे आश्चर्यचकित कर दिया है - मैं इस तरह से कुछ कैसे प्राप्त करूं?
छवि, ऊंचाई और चौड़ाई, सेट होने के बाद अपरिवर्तनीय हैं कि अगर आसान बनाने में मदद करता है ...
मैं सिर्फ एक शैली में मेरी वापसी लपेट है? यही कारण है कि बहुत ज्यादा जटिल लगता है ...
यहाँ सृजित HTML है:
<ul background-image="url(data:image/png;base64,...)" height="840px" width="240px" class="rack unselectable">
</ul>
संपादित करें: यह काम करता है, लेकिन मैं नहीं कर रहा हूँ stoked:
attributes: function() {
var isFront = this.model.get('isFront');
var imageUrlIndex = isFront ? 0 : 1;
var backgroundImageStyleProperty = "background-image: url(" + this.model.get('imageUrls')[imageUrlIndex] + ");";
var heightStyleProperty = "height: " + this.model.get('rows') + 'px;';
var widthStyleProperty = "width: " + this.model.get('width') + 'px;';
return {
'style': backgroundImageStyleProperty + ' ' + heightStyleProperty + ' ' + widthStyleProperty
};
},
कैसे $ एल के साथ एक नोड का चयन करने के ?? –