2015-10-29 1 views
2

Je suis en train de passer des paramètres entre mon père et le pilote de modèle d'une directive, mais cela semble mal fonctionnerl'ajout de nouveaux attributs de décorateur

la méthode dans le contrôleur est

vm.activoHora = function(eventos, hora, dia) { 

    var a = eventos; 
    var b = hora; 
    var c = moment(dia).format('MM/DD/YYYY'); 


    angular.forEach(eventos, function(value, key) { 

    var fechaEv = moment(value.startsAt).format('MM/DD/YYYY'); 
    if (fechaEv === c) 
     var horaEv = moment(value.startsAt).format('HH:mm'); 

    if (horaEv === b) 
     $scope.valor = true; 
    return $scope.valor; 
    }); 

    return ({ 
    ' btn-danger disabled': $scope.valor 
    }); 

} 

cela devrait évaluer le jour et renvoyer un objet css pour désactiver le tiroir, evento utilisé pour communiquer avec le modèle

<mwl-calendar 
      evento="vm.activohora(event,hora,dia)" 
      events="vm.events" 
    ...........    
    </mwl-calendar> 

et le modèle évalué avec ng classe

<li class="list-group-item col-md-12 " ng-class="vm.evento(vm.view.events,h_m,day)" ng-repeat="h_m in [] | tiempoTabla:8:16:15" style="padding: 1px !important"> 
     <p class="hora text-center" style=" margin: inherit" ng-click="vm.clic(day.date,h_m)">{{h_m}}</p> 
</li> 

Voici le code où le problème est survenu http://plnkr.co/edit/XihZabCHjLHtPiCQnbUi?p=preview

+0

On ne sait pas quelle est la question. Oui, vous devez utiliser $$ isolateBindings pour décorer les liaisons d'étendue de la directive. – estus

+0

Je ne peux pas passer de paramètres entre le modèle parent "myweek.html" et le contrôleur –

+0

Veuillez fournir [MCVE] (http://stackoverflow.com/help/mcve), à ​​plunker ou ailleurs. Vous avez plusieurs extraits de code détachés dans votre question qui ne permettent pas de deviner ce qui ne va pas. – estus

Répondre

1

vm.activohora est appelée, alors que la fonction réelle est vm.activoHora.

$scope est utilisé, alors qu'il n'a pas été injecté dans le contrôleur.

eventos, hora, dia Les paramètres ne sont pas définis sur la portée.

Les problèmes nécessitent un débogage minutieux et ne sont pas liés au sujet. La liaison d'attribut est correcte, bien que la liaison unidirectionnelle (@) soit utilisée à la place pour l'objet renvoyé par la fonction.

+0

Je me suis rendu compte si ces erreurs et changement, et laisser les fonctions sans paramètres et renvoyer le CSS pour toutes les cellules s desabiliten et voir si cela fonctionne bien, mais ne le fait pas travail, lors du débogage, je me rends compte que tombe dans la fonction, mais ne fait rien http://embed.plnkr.co/XihZabCHjLHtPiCQnbUi/preview –

+0

Tout dans la console. Vous avez un résumé infini. Exactement parce que vous utilisez la liaison bidirectionnelle = sur le retour de la fonction au lieu d'un aller simple. – estus

+0

la vérité Je commence tout juste à utiliser les directives et je ne comprends pas très bien, mais j'ai changé pour "@" et cela ne fonctionne pas –