2016-09-17 41 views
1

在我的項目中,點擊刪除按鈕,調用一個函數,在裏面用delete方法調用api。從projectlist成功刪除項目後,我正在重新加載狀態。這裏的問題是,我正在將URL傳遞給項目ID。因此,在刪除項目後,項目ID仍然存在於URL中,這是因爲爲什麼狀態重新加載已經刪除了項目ID,它已經在URL中被重新加載,其中沒有值。如何在刪除AngularJS中的項目後重新加載狀態?

下面給出了更好地理解代碼的代碼。

survey.html

<ul class="sidebar-nav"> 
      <li class="sidebar-brand" > 
       <a> 
        Projects 
       </a> 
      </li> 
      <li ng-repeat="obj in allProjects track by $id(obj)"> 
       <a ui-sref="survey.surveyList({id: obj.ProjectID})" ng-click="getProjSurveys(obj.ProjectID)" ui-sref-active="activeProject" ng-init="getReloadProjSurveys()">{{obj.ProjectName}}<span class="projectsetting" ng-click="sendProjectID(obj.ProjectID)"><img src="./images/settings.png"/></span></a> 
      </li> 
     </ul> 
     <div class="surveyContainer" ui-view></div> 

index.js(使用UI路由)

.state('survey', { 
     url: '/survey', 
     views:{ 
      header:{ 
       templateUrl: 'common/headerTool.html', 
       controller: 'headerController' 
      }, 
      pageContent:{ 
       templateUrl: 'survey/survey.html', 
        controller: 'surveyController' 
      }, 
      footer:{ 
       templateUrl: 'common/innerFooter.html', 
       controller: 'footerController' 
      } 
     } 
    }).state('survey.surveyList', { 
     url: '/:id', 
     templateUrl: 'survey/surveyList.html', 
     controller: '' 
    }); 

popup.html 這是我顯示刪除確認彈出

<div class="modal fade" id="deleteProject" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
    <div class="modal-dialog" role="document"> 
    <div class="modal-content"> 
    <div class="modal-body"> 
     <p class="text-center">Are you sure you want to delete this project</p> 
    </div> 
    <div class="modal-footer"> 
    <div class="col-md-6 text-right"><span type="button" class="cancel" data-dismiss="modal">Cancel</span></div> 
    <div class="col-md-offset-1 col-md-5 text-left"><span type="button" class="success" value="Delete" ng-click="projectDelete()" >Delete</span></div> 
    </div> 
    </div> 

在點擊這個按鈕我打電話projectDelete()這是該控制器內部

surveyController.js

$scope.sendProjectID = function(ProjectID){ 
    $scope.ProjectID = ProjectID; 
    }; 
    $scope.projectDelete = function($event){ 
     $("#deleteProject").hide(); 
     UserService.DeleteProject($scope.ProjectID).then(
     function(data) { 
      console.log(data); 
      state.reload(); 
     //$state.go('survey.surveyList',{id: 0}); 
     $("#deleteProject").modal("hide"); 
     }); 
    }; 

我試着用state.reload()$state.go('survey.surveyList',{id: 0});。這個$ state.go()與id = 0是默認的我想重新加載。

+0

你只是想從列表中刪除已刪除的記錄,對不對? –

+0

'state'對象是如何初始化的?對我來說,它應該是:'$ state.reload();'。 – Zakaria

回答

相關問題