2017-10-19 22 views
0

Toujours nouveau à Aurelia FW. Je souhaite exécuter une fonction située dans une page parent à partir d'un modèle situé dans ce parent. Je n'ai aucun problème à le faire. Le problème est que je veux prendre une variable \ property valeur située dans le modèle et l'utiliser comme un paramètre dans la fonction.Comment puis-je "partager" cette propriété entre le parent et le modèle? Je suppose que la liaison devrait être la réponse. Voici le code approprié: Il s'agit de l'instance de modèle dans le parent. La fonction concernée à exécuter est ChangeStatus:fonction d'appel située dans le parent à partir d'un modèle avec un paramètre dans Aurelia

<radio-button-switch is-active.bind="account.IsEnabled" change-state- 
fuction.call="changeStatus(state)" ></radio-button-switch> 

Ceci est la fonction du parent:

changeStatus(statusVariable) { 
//TODO something with statusVariable} 

C'est le modèle HTML:

<template> 
     <input type="checkbox" 
        change.delegate="changeState($event.target.checked)"> 
    </template> 

Et c'est pertinent code du modèle (je veux exécuter la fonction changeState avec le isChecked comme paramètre):

import { bindable } from 'aurelia-framework'; 
export class radioButtonSwitch { 
    @bindable changeStateFuction; 

    changeState(isChecked) 
    { 
     this.isElementActive = isChecked; 
     this.changeStateFuction(isChecked); 
    } 
} 

Répondre

1

Si je vous ai droit, vous devez créer « objet arguments »:

Si vous devez appeler la fonction avec des arguments, créer un objet dont les clés sont les noms d'arguments et dont les valeurs sont les valeurs d'argument , puis appelez la fonction avec cet "objet arguments".

Donc, dans votre code devrait ressembler à ceci:

this.changeStateFuction({ status: isChecked }); 
+0

Merci, ça a parfaitement fonctionné! –