objet contrôleur de liaison à un composant dans braise
Je suis en train de construire une modal box composant dans la braise. La modal box a deux boutons "fermer" et "enregistrer". Je voulais passer de contrôleur de l'action de cet élément, si bien que lorsque le bouton "enregistrer" est cliqué, il appelle le contrôleur de l'action qui a été adopté. J'appelle mon composant :
{{#affi-modal-box title="Test title" modalId="createNewAnalyticsRunModal" controllerBinding=controller}}some message{{/affi-modal-box}}
et mon composant :
AS.AffiModalBoxComponent = Ember.Component.extend({
attributeBindings: ['modelId','test'],
//this is the function that gets called when save button is clicked
onSaveButtonClick : function(){
console.log(this.controllerFor('analysisTemplates'));//fails
console.log(this.get('controller'));//returns modal box component which I don't need
}
});
Des idées comment je peux passer le contrôleur de l'objet au composant??
Grâce.
source d'informationauteur Deewendra Shrestha
Vous devez vous connecter pour publier un commentaire.
La façon de Braise.Composant du travail est d'être agnostique à d'autres parties de votre application, par conséquent, plutôt que de passer dans un contrôleur sur lequel vous souhaitez une action pour être appelé lorsque quelque chose arrive dans votre composant, vous n'avez plus comme de cette façon:
Comme vous pouvez le voir, vous définissez la
action
attribut par le nom de l'action sur la manette, puis à l'intérieur de votre composant vous suffit d'appelerthis.sendAction('action');
qui déclenche quel que soit le nom de l'action que vous avez définies précédemment:Alors maintenant, chaque fois que
onSaveButtonClick
est appelé il enverra l'actionactionNameOnTheController
à ce que le contrôleur est en l'écoutant. Et le meilleur de tous, sans savoir rien sur le contrôleur. C'est le genre de fonctionnalité qui fait de Braise.Du composant réutilisable en aucune façon.Veuillez voir ici un simple démo d'expliquer le concept.
Espère que cela aide.