2013-12-10 9 views
6

मैं सोच रहा था कि गणना की गई संपत्तियों में तर्क जोड़ना संभव था या नहीं। अब तक, मैंने जो कुछ भी कोशिश की, वह त्रुटियों में हुई और इस विषय पर कुछ भी नहीं मिला। मैं एक ऐसे मान का उपयोग कर एक यूआरएल बनाना चाहता हूं जो मेरे मॉडल में शामिल नहीं है।एम्बर तर्कों के साथ गुणों की गणना

// App.js 
App.Image = DS.Model.extend({ 
    image_path_sh: DS.attr(), // image.jpg 
    image_size_nm: DS.attr(), // 234234 
    image_alt_sh: DS.attr(), // My image 
    image_abs_url: function(width, height) { 
     return "http://localhost/images/" + this.get('image_path_sh') + "/" + width "x" + height 
    }.property('image_path_sh') 
}); 

// index.html 
// I know this doesn't work, but I'd like to have something that easy to use 
{{#each image}} 
    <img src="{{image_abs_url 250 250}}" alt="{{image_alt_sh}}" /> 
{{/each}} 

मेरे सर्वर एक छवि है कि आकार बदलने पर वापस आ जाएगी:

मैं कुछ है कि इस प्रकार दिखाई देगा की तलाश में हूँ। मैं इसे अपने डेटाबेस में नहीं रखना चाहता क्योंकि ये निश्चित मान नहीं हैं।

+3

मैं कुछ इस तरह प्यार होता, मुझे नहीं लगता कि आप हालांकि यह कर सकते हैं, हो सकता है 'Ember.Handlebars.helper' इसे करने के लिए निकटतम बात हो जाएगा है। – iConnor

उत्तर

12

एक गणना की गई संपत्ति पैरामीटर पर भरोसा नहीं करनी चाहिए, यह कैशिंग प्रतिमान को तोड़ देती है, यही वही सहायक और विधियां हैं।

Ember.Handlebars.helper('img', function(prop, height, width, options) { 
    return new Handlebars.SafeString('<div style="height:' + height +'px;width:'+ width +'px;background-color:' + prop + '">' + prop + '</div>'); 
}); 

http://emberjs.jsbin.com/IgUFaTAk/1/edit

संबंधित मुद्दे