web-dev-qa-db-fra.com

méthode d'appel à partir de l'action du contrôleur dans emberjs

par exemple, j'ai un contrôleur comme celui-ci:

App.theController = Ember.ArrayController.extend({
  methodA:funtcion() {},
  actions: {
    methodB:function(){},
    methodC:function(){}
  }
});

mes questions sont:

  1. Comment methodB peut appeler methodC
  2. Comment méthodeA peut appeler méthodeB
24
MBehtemam

Vous devez utiliser this.send([methodName]) pour obtenir vos méthodes correctement appelées:

var App = Ember.Application.create({
  ready: function() {
    console.log('App ready');
    var theController = App.theController.create();
    theController.send('methodC');
  }
});

App.theController = Ember.ArrayController.extend({
  methodA:function(){
    //How can methodA calling methodB
    this.send('methodB');
    console.log('methodA called');
  },
  actions:{
    methodB:function(){
      //How can methodB calling methodC
      this.send('methodC');
      console.log('methodB called');
    },
    methodC:function(){
      console.log('methodC called');
    }
  }
});

Ici un simple jsbin comme terrain de jeu.

J'espère que ça aide.

45
intuitivepixel