angularjs
2016-05-12 47 views -1 likes 
-1

我有一個具有「是/否」的實例的收音機組。選擇「是」後出現文字容器。我想發生滾動到新的容器。Angular:在ng之後滾動到容器 - 如果

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> 

控制器:

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

回答

0

確保你注入$位置和$ anchorScroll到控制器中,然後在你的函數使用類似:

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

其中id代表您要滾動到的項目的ID。有關詳細信息,請參閱:https://docs.angularjs.org/api/ng/service/ $ anchorScroll。

+0

但是在ng-repeat中爲所有對象調用blockRequired函數。我需要在特定塊中選擇「是」以打開帶有文本的容器並滾動到此容器 –

+0

然後,您需要使用ng單擊收音機組上的yes按鈕或ngChange,並在單擊yes時作出響應。您尚未發佈足夠的詳細信息或代碼以獲得更有幫助的答案。 –

相關問題