mardi 22 mars 2016

How to get Ember component object inside promise success or error call back?

I have pass two callback function success and error on promise returned from ajax call using then method. Now i am unable to get Ember component object inside success/error method.

import Ember from 'ember';

export default Ember.Component.extend({
    data:null,
    issueType:'',
    description:null,
    prepareSubmitRaiseIssueModal:function(){
        var data = this.get('data');
        this.set('ticket.category',data.category);
        this.set('ticket.name',this.get('session.currentUser.first_name'));
        this.set('ticket.phone',this.get('session.currentUser.phone'));
        this.set('ticket.groupId',data.groupId);
        this.set('ticket.ownerId',this.get('session.currentUser.id'));
        this.set('ticket.oyoId',this.get('session.currentOwnerHotelOyoId'));
        this.set('ticket.ticketRaisedBy','owner');
        this.set('ticket.bookingId',data.bookingId);
        this.set('ticket.subType',data.subType);
        this.set('ticket.subSubIssue',data.subSubIssue);
        this.set('ticket.email',this.get('ticket.oyoId')+'@oyoproperties.com');
        this.set('ticket.subject',this.get('ticket.oyoId')+' : '+this.get('ticket.category'));
        this.set('ticket.description',this.get('description'));
    },
    success:function(){
        console.log(this.get('description'));
    },
    error:function(){
        console.log(this.get('description'));
    },
    actions :{
        submitIssue:function(){
            this.prepareSubmitRaiseIssueModal();
            this.get('ticket').submitRaiseIssue().then(this.success,this.error);
            //this.send('closeRaiseIssueModal');
        },
        closeRaiseIssueModal:function(){
            this.sendAction('closeRaiseIssueModal');
        }
    }
});

i am able to get Ember component object if instead of passing named function i pass anonymous function.

submitIssue:function(){
            var self = this;
            this.prepareSubmitRaiseIssueModal();
            this.get('ticket').submitRaiseIssue().then(function(response){
                console.log(self.get('description'));
            },
            function(err){
                console.log(self.get('description'));
            });
            //this.send('closeRaiseIssueModal');
        },

is there any way i can get the Ember component object's reference for former case??




Aucun commentaire:

Enregistrer un commentaire