2016-07-08 46 views
1

所以我試圖給我的ng-repeating手風琴添加一個刪除功能。 按鈕被顯示並且功能被設置,但是當按下刪除按鈕時,頁面幾乎重新加載,然後重定向到localhost:8080 /#但是它不應該重定向到這裏,並且沒有任何暗示它應該重定向到這裏,反正我也看不到,也許這是問題之一?然而,我無法看到這是源於...在ng-repeat上刪除AngularUI Accordion

由於應用程序尚未託管尚未刷新頁面,所有的數據都會丟失,因爲它被傳遞到當前的編輯視圖,由之前的視圖,它將它們顯示在表格中,直到您單擊其中一行並進入所述編輯頁面。

這裏是我的JS刪除功能:

$scope.delete = function (index, event) { 
    if(event) { 
     event.preventDefault(); 
     event.stopPropagation();  
    } 

    $scope.selectedTestScript.Actions.splice(index, 1); 
    } 

這裏是我的NG-重複手風琴:

<uib-accordion close-others="oneAtATime"> 
    <uib-accordion-group ng-repeat="action in selectedTestScript.Actions" is-open="action.isOpen" ng-click="action.isOpen=!action.isOpen"> 
      <uib-accordion-heading> 
       <div>{{action.Description}}<button type="button" class="btn btn-xs btn-danger pull-right" ng-click="delete($index, event)"></i>Delete</button></div> 
      </uib-accordion-heading> 
      <div> 
      <label for="actionNotes" class="control-label col-xs-2">Action Notes</label> 
      <div class="col-xs-10"> 
       <textarea id="actionNotes" type="text" rows="4"ng-model="action.Notes" class="form-control" name="name"></textarea> 
      </div> 
      </div> 
      <div> 
      <label for="actionExpected" class="control-label col-xs-2">Action Expected</label> 
      <div class="col-xs-10"> 
       <input id="actionExpected" type="text" ng-model="action.ExpectedOutcome" class="form-control" name="name"> 
      </div> 
      </div>     
    </uib-accordion-group> 
</uib-accordion> 

任何幫助將不勝感激,我試着簡化了功能和消除if(event)語句並將其作爲拼接,但這也不起作用。

在此先感謝。

回答

1

我想你有一個窗體圍繞你發佈的代碼? 如果是這樣的話,使用<button>而沒有type指定的默認值爲type=submit,這會觸發原始的HTML表單提交,因此是重定向。

您可以將type設置爲button以防止發生這種情況。

另外action.isOpen==!action.isOpen看起來不正確,你的意思是單個=


編輯:其實是有ui-bootstrap accordion下一個段落讀

已知問題

手風琴內使用點擊元素,可以選擇覆蓋 手風琴組模板使用div元素代替錨點 元素,並在CSS中添加遊標:指針。這是由於瀏覽器將定位元素解釋爲任何點擊事件的目標,當某些元素(例如按鈕在嵌套元素中嵌套 )時觸發路由。

http://angular-ui.github.io/bootstrap/#/accordion

+0

手風琴實際上是形式之外,但我添加了類型=「按鈕」,這已沒有任何影響,但感謝你的建議。還更新了action.isOpen =!action.isOpen,但這個功能(令人驚訝的)仍然與double ==一起工作。感謝您的建議,他們都非常感激。 – Callum

+0

難道這可能是因爲uib-accordion指令在運行時創建了更多的html,因此可能會添加一個href屬性?真的是一個問題,而不是一個聲明,一旦它運行,我已經瀏覽過html,我似乎無法找到上述任何證據。 – Callum

+0

@Callum我認爲這可能是手記的已知問題之一 – Icycool