2016-05-31 9 views
0

Dies ist die example jsfiddle. Ich versuche ng-model den Wert auf einen Klick etwas. aber dieser Wert aktualisiert sich nicht in directive. Ich versuchte mit $scope.$watch auch. Es tut mir leid für schlechtes Englisch und Anfänger zu angularjs.Angular Directive Datenbindung funktioniert nicht in ng-show

<div ng-click=show()>show directive</div> 
<div ng-show="afterSomeTime"> 
<div class="star-rating" star-rating rating-value="rating" 

data-max="10" on-rating-selected="rateFunction(rating)"></div>sdsadasdasd</div> 

hier ich habe versucht Richtlinie nach einiger Klick-Ereignis auslösen, aber ich war nicht in der Lage, dass das Beispiel js Geige Link achieve.check aus

+0

Bitte post relevanten Code in der Post. – Saad

+0

Er tat - es gibt einen Link zu einem Beispiel-Beispiel –

+0

In welcher Umgebung laufen Sie, während Ihr Beispiel wie erwartet für mich funktioniert (Chrome 50.0). aktualisiert Beispiel mit in ngShow Bindung - http://jsfiddle.net/wuqcnmh9/1/ –

Antwort

1

Start ab Zeile 43

scope.$watch('ratingValue', 
    function(oldVal, newVal) { //<-this is where you did wrong 
     if (newVal) { 
      updateStars(); 
     } 
    } 
); 

Gerade Swap oldVal und newVal, sollte es jetzt funktionieren, glaube ich.

+0

ref: https://docs.angularjs.org/api/ng/type/$rootScope.Scope, Suche '$ watch', und überprüfen Sie die Beispiel. –

+0

danke für die Suche nach kleinen Bug, aber es dauerte 3 Stunden für mich – santhosh

+0

froh, dass Hilfe :) –

1

Sie müssen $ scope.rating zuerst mit einem Initialwert definieren, dann können nur Sie das mit Direktive verbinden.

code https://jsfiddle.net/nbakliwal18/aL7cs9je/1/ 
+0

danke für Ihre Antwort, die mir geholfen hat.aber immer noch Kasse andere Antwort auch das ist auch notwendig.Ich denke, beide sind richtig – santhosh

Verwandte Themen