Maison > Questions et réponses > le corps du texte
<button>expand</button>
<my-menu></my-menu>
Je souhaite cliquer sur le bouton pour développermenu
,但怎么将menu
的API暴露出来给button
comment l'utiliser ?
Ou existe-t-il un autre meilleur moyen ?
大家讲道理2017-06-17 09:17:37
Il n'est pas nécessaire d'exposer une API, il vous suffit d'utiliser des attributs personnalisés dans les instructions pour la liaison de données bidirectionnelle.
Par exemple, si vous devez afficher ou masquer, vous pouvez utiliser un attribut d'affichage sur la commande, par exemple :
<my-menu display="someCtrlValue" ></my-menu>
Puis contrôlez cette valeur dans votre contrôleur, comme
if(condition){
$scope.someCtrlValue = true;
}
Bien sûr, il vous suffit de spécifier les attributs de liaison bidirectionnelle dans la commande ;
Module.directive("myMenu", function(){
return {
scope: {
display : '='
}
...
}
})
高洛峰2017-06-17 09:17:37
Lors de l'écriture de la commande mon-menu, vous pouvez spécifier un attribut de liaison bidirectionnelle, tel que réduire, puis l'utiliser via <mon-menu collapser="val"></mon-menu>, puis utilisez le bouton L'événement ng-click peut contrôler la variable val (vrai/faux). Ensuite, lors de la définition des instructions, la liaison bidirectionnelle est réalisée via des portées indépendantes. Veuillez vous référer à cet article sur http://xgfe.github.io/2015/12...
.仅有的幸福2017-06-17 09:17:37
Fournissez une méthode pour émettre dans l'instruction, puis le contrôleur effectue la surveillance.
De plus, la flexibilité de l'instruction ne peut être obtenue qu'en transmettant la valeur de l'extérieur vers l'intérieur de l'instruction. L'instruction doit-elle être modifiée à chaque fois que l'API est modifiée ?