2016-05-12 10 views
-1

Ich habe eine Radio-Gruppe mit einer Ausführung von "Ja/Nein". Nach Auswahl von "Ja" erscheint der Container mit dem Text. Ich möchte scrollen zu einem neuen Container.Angular: Scrollen zu Container nach ng-wenn

html:

<li ng-repeat="q in vm.model.questions"> 
    <ng-form name="myForm"> 
     <md-radio-group ng-model="q.answer" layout="row" required class='radio_group'> 
      <md-radio-button ng-value="true" aria-label="Yes">Yes</md-radio-button> 
      <md-radio-button ng-value="false" aria-label="No">No</md-radio-button> 
     </md-radio-group> 
     <md-input-container flex ng-if="vm.blockRequired(q)"> 
      <label>{{'q.text'}}</label> 
     </md-input-container> 
    </ng-form> 
</li> 

Controller:

function blockRequired(question) { 
     return question.answer === true; 
    } 

Antwort

0

Vergewissern Sie sich, dass Sie $ Lage sind injizierende und $ anchorScroll in Ihrem Controller und dann in Ihrer Funktion Gebrauch so etwas wie:

$location.hash(id); 
$anchorScroll(); 

Dabei steht id für die ID des Elements, zu dem Sie blättern möchten. Siehe: https://docs.angularjs.org/api/ng/service/ $ anchorScroll für Details.

+0

Die Funktion blockRequired wird für alle Objekte in ng-repeat aufgerufen. Ich muss, wenn Sie "Ja" in einem bestimmten Block, um den Container mit Text zu öffnen und zu diesem Container scrollen –

+0

Dann müssen Sie ng-klicken Sie auf die Schaltfläche Ja oder ngChange in der Radio-Gruppe und reagieren, wenn Ja geklickt wird . Sie haben nicht annähernd genug Details oder Code gepostet, um eine hilfreichere Antwort zu erhalten. –