बनाने के लिए सही नियंत्रक/दृश्य पैटर्न क्या है मेरे पास एक ऐप है जिसमें इस समय एक ही मॉडल की वस्तुओं का दृश्य शामिल है। वे सर्वर से प्राप्त कर रहे हैं, के माध्यम से लूप में चलाया और एक ऐड विधिember.js - नया मॉडल
<script>
App.Controllers.List = Em.ArrayProxy.create({
content: Ember.A([]),
add: function(obj){
this.pushObject(obj);
}
});
</script>
अब मैं एक हिस्सा है जहाँ उपयोगकर्ता एक नया उद्देश्य यह है कि (सत्यापन पास करने के बाद) में जोड़ दिया जाएगा बनाता है पर काम कर रहा हूँ का उपयोग कर सूची नियंत्रक को जोड़ा गया सूची और सर्वर को भी भेजा गया।
मुझे इनपुट फॉर्म के माध्यम से एक नई वस्तु बनाने के लिए सबसे अच्छा पटर पर कोई उदाहरण नहीं मिल रहा है। मैं कुछ विकल्प देख सकता हूं, और कुछ अर्ध-कार्यान्वित किया है लेकिन कुछ भी सही नहीं लगता है।
- उपयुक्त रूप तत्वों के साथ एक दृश्य और() मॉडल .Get का उपयोग कर प्रपत्र तत्वों से लिया गया विभिन्न गुणों का उपयोग कर
- कि करने के लिए दृश्य की सामग्री और बाँध प्रपत्र तत्वों में एक मॉडल बनाएं instantiating के लिए एक विधि बनाएँ।/नियंत्रक सरणी में जोड़ने से सर्वर
- को बचत एक मॉडल बनाने के लिए, नियंत्रक सरणी में जोड़ने और मैं तरह की कार्यक्षमता मैं बाहर लड़ सकता संपादन
के लिए इसे खोलने के लिए दृश्य पर एक विधि को शामिल करें चाहते हैं, लेकिन मैं यह सुनिश्चित करना पसंद करूंगा कि मुझे सर्वोत्तम अभ्यास के बारे में पता है।
मैं वर्तमान में कुछ इस तरह
<script>
App.Views.ItemCreate = Em.View.extend({
content: App.Models.Item.create({}),
templateName: 'create',
createButton: function(){
var itemObj = this.get('content');
var item = {};
item.title = this.get('content').get('title');
$.ajax({
type: 'POST',
url: '/test/data.json',
data: item,
dataType: 'json',
success: function(responseData, textStatus, jqXHR) {
App.Controllers.List.add(itemObj);
}
});
}
});
</script>
<script type="text/x-handlebars" data-template-name="create">
{{view Em.TextField id="create-title" valueBinding="content.title"}}
<a href="#" {{action "createButton" }}>Create</a>
</script>
किसी भी मदद की बहुत सराहना
नोट
मैं करने के लिए सही जवाब बदल दिया है (जो मेरी सूची में दूसरा बुलेट है) pangratz की। हालांकि अन्य प्रतिक्रियाओं ने सीधे मेरे प्रश्न का उत्तर दिया, मुझे विश्वास है कि जो लोग इसे Google के माध्यम से पाते हैं उन्हें जवाब देना चाहिए, न केवल यह अच्छा एमवीसी है, बल्कि यह अधिक अच्छा एमवीसी है, लेकिन यह अधिक एम्बर-वाई है: ओ)
इसके लिए भी धन्यवाद। मैंने देखा है मैं थोड़ा जब डेटा स्रोत को लागू करने को फिर से लिखने एंबर-डेटा शुरू कर दिया, मैं पहले से ही इस्तेमाल किया है कि एक अलग संदर्भ में और कुछ unepexted व्यवहार किया था, मैं दे देंगे एक और जाना मुझे लगता है कि! डेटा स्रोत CreateObject समारोह में, अगर लागू किया जाता है यह callback.apply होना चाहिए (लक्ष्य, [डेटा]) या callback.call (लक्ष्य, डेटा) और आप चाहते हैं: – joevallender
इसके अलावा, किसी और है कि इस जाता है के लिए देखा शायद एक स्वयं/_this का उपयोग कर रहे हैं/कि आप कच्चे डेटा के बदले AJAX फ़ंक्शन में पारित हो गए हैं – joevallender