ember.js - Ember view's attribute shared between view's instances? -
मेरे पास एक दृश्य है:
App.PhotoUploadView = Ember.View.extend ({ चित्र: [], didInsertElement: function () {var कि = यह; var उत्पाद = this.get ('नियंत्रक')। Get ('model'); var upimages = product.get ('upimages'); // यह .set ('images', []); upimages.then (फ़ंक्शन (छवियाँ) {images.forEach (कार्य (छवि, सूचकांक) {var imageObject = new object (); imageObject.link = App.appConf.apiPaths.images (Image.get) ('लिंक'
तो मैं यहाँ क्या कर रहा हूँ एक चित्र सरणी को शुरू में खाली परिभाषित करता है, और इसे मॉडल के बच्चों के छोटे से जोड़कर प्राप्त वस्तुओं के साथ भरें ...
< कोड> {{मॉडल में प्रत्येक उत्पाद}} {{App.PhotoUploadView देखें}} {{/ each}}
ऐप में मेरे पास बहुत से फोटो यूपॉडलोड दृश्य हैं; बात यह है कि PhotoUploadView के हर उदाहरण के लिए एक अलग छवियाँ बनाने के बजाय, मुझे लगता है कि प्रत्येक इमेज में एक इमेज सरणी होती है जिसमें सभी छवियां होती हैं, जैसे कि सरणी को उदाहरणों के बीच साझा किया जाता है;
यदि मैं इस पर टिप्पणी निकाल देता हूं .सेट ('चित्र', []); DidInsertElement फ़ंक्शन में, तब सब कुछ काम करता है; तो सवाल यह है कि छवियों को फोटोयूप्लोडदृश्य उदाहरणों के बीच साझा किया जाता है? या क्या मुझे कुछ याद आ रहा है ...
एम्बर यह देखता है कि एक स्थिर संपत्ति के रूप में और यह सभी पर लागू होता है उस दृश्य के उदाहरण यदि आप इसे अपरिभाषित अप के रूप में सेट करते हैं, तो इसे init (या जब भी इसकी आवश्यकता होती है) पर परिभाषित करें, तो उसे समस्या ठीक करनी चाहिए।
App.PhotoUploadView = Ember.View.extend ({init: function () {This._super (); this.set ('images', []);} चित्र: अपरिभाषित, didInsertElement: function () {var कि = this; var उत्पाद = this.get ('नियंत्रक')। ('मॉडल'); var उन्नयन = उत्पाद.गेट ('अपिमेज'); //this.set('images ', []); upimages.then (फ़ंक्शन (छवियाँ) {images.forEach (कार्य (छवि, सूचकांक ) {Var imageObject = new object (); imageObject.link = App.appConf.apiPaths.images + image.get ('link'); that.get ('images')। PushObject (imageObject);}); कंसोल लॉग करें (उस। को प्राप्त करें ('चित्र'))});}});
Comments
Post a Comment