2013-08-29 8 views
17

मैं सिर्फ RC8 को ember.js RC7 से उन्नत किया है और पाया है कि एक साधारण टेम्पलेट (नीचे दिखाया गया) एक पदावनत चेतावनीसीधे नियंत्रकों पर लागू किए गए एक्शन हैंडलर को बहिष्कृत किया गया है- इसे कैसे ठीक किया जाए?

"एक्शन संचालकों नियंत्रकों पर सीधे लागू किया पदावनत कर रहे हैं"

{{input class="firstName" type="text" placeholder="first name" value=firstName }}          
{{input class="lastName" type="text" placeholder="last name" value=lastName }}           
<button class="submit" {{action addPerson}}>Add</button>                
<br />                             
<table>                             
{{#each person in controller}}                       
<tr>                             
    <td class="name">{{person.fullName}}</td>                    
    <td><button class="delete" {{action deletePerson person}}>Delete</button></td>          
</tr>                             
{{/each}}                            
</table> 
फेंक

इसे ठीक करने के लिए उपर्युक्त टेम्पलेट को कैसे संशोधित करना चाहिए?

उत्तर

29

ऐसा लगता है कि मैं सिर्फ एक नज़र कि इस :)

बदल मेरी नियंत्रक में मैं सिर्फ इतना

App.PeopleController = Ember.ArrayController.extend({                 
    actions: {                           
     addPerson: function() {                       
      var person = {                        
       firstName: this.get('firstName'),                  
       lastName: this.get('lastName')                   
      };                           
      App.Person.add(person);                      
     },                            
     deletePerson: function(person) {                    
      App.Person.remove(person);                     
     }                            
    }                             
}); 
+0

'this.store.createRecord()' 'बजाय App.Person.add की()' http://emberjs.com/guides/getting- शुरू/निर्माण-एक-नया मॉडल/ –

+0

आह हाँ- इस उदाहरण के लिए मैं एम्बर-डेटा का उपयोग नहीं कर रहा था :) –

12

आप परिभाषित करना चाहिए जैसे कार्यों के तहत addPerson/deletePerson स्थानांतरित करने के लिए की जरूरत give the PR करने के लिए आवश्यक अपने नियंत्रक, विचारों और मार्गों में स्थिरता के पक्ष में actions हैश के अंदर क्रियाएं।

देखें इस https://github.com/emberjs/ember.js/pull/3091

Demo Fiddle

App.ApplicationController = Em.ObjectController.extend({ 
    actions : { 
    // your actions here 
    }  
}); 
संबंधित मुद्दे