2017-05-30 129 views
0

我有一個指令點擊一個項目,並可以稍後編輯。該指令稱爲點擊編輯。我正在做一個ng-repeat,每一行都是手風琴。我的想法是挑選編輯按鈕,我可以編輯文本,就好像我點擊它一樣。當你點擊另一個元素時,自動點擊一個元素。 Angular.js

enter image description here 我該怎麼辦?

 <uib-accordion close-others="true"> 
    <div ng-repeat="faq in faqs"> 
     <div class="col-sm-11" > 
      <div uib-accordion-group class="panel-default" is-open="faq.open"> 
       <uib-accordion-heading > 
        <span ng-click="ignoreClick($event);" ><a href='' click-to-edit ng-model='faq.pregunta' typeinput='textarea' >{{faq.pregunta}}</a></span> <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': faq.open, 'glyphicon-chevron-right': !faq.open}"></i> 
       </uib-accordion-heading> 
       <span click-to-edit ng-model="faq.respuesta" >{{faq.respuesta}}</span> 
      </div> 
     </div> 
     <div class="col-sm-1" > 
      <button type="button" class="btn btn-default"> 
      <span class="glyphicon glyphicon glyphicon-edit"></span> 
      </button> 
     </div> 
     </div> 
    </uib-accordion> 

https://plnkr.co/edit/K5fXaIzSBkV91V7AFoqw?p=preview

+0

什麼是您的實際*問題*? 「我該怎麼做?」沒有足夠的描述性。 – Claies

+0

您希望「點擊編輯」指令中的文本僅可編輯嗎?或者你是否需要和uib-accordion-heading一起編輯? – Hoyen

回答

0

而是初始化scope.editState = false指令裏面的,你可以從你的控制器通過。

設置您的指令採取editState作爲參數:

scope: { 
    model: '=ngModel', 
    editState: '=' 
} 

建立在你的控制器的每個faqeditState變量,用一個函數來切換它:

控制器:

$scope.faqs=[ 
    {"pregunta": "pregunta1", "respuesta": "respuesta1", "open":true, "editState": false}, 
    {"pregunta": "pregunta2", "respuesta": "respuesta2", "open":false, "editState": false}, 
    {"pregunta": "pregunta3", "respuesta": "respuesta3", "open":false, "editState": false} 
    ]; 

$scope.toggleEditState = function(index) { 
    $scope.faqs[index].editState = !$scope.faqs[index].editState; 
} 

控制器模板:

<a click-to-edit edit-state='faq.editState' ... > 

<button ng-click="toggleEditState($index)"></button> 

這是一個plnkr

+0

謝謝,我不太明白你的意思,我試過了,它對我沒有用。 – yavg

+0

我加了一個plnkr。 –

+0

謝謝,我已經試過了,但是在任何按鈕上點擊時,只有第一個手風琴的元素被編輯。我需要編輯與該按鈕對應的元素,如果它編輯了手風琴的標題和內容,那就太棒了。 – yavg

相關問題