2015-09-04 2 views
1

Ниже мой код:

app.controller('lookupMasterController', [ 
    '$scope', '$routeParams', '$location', '$modal', 'lookupService', function ($scope, $routeParams, $location, $modal, lookupService) { 

$scope.openCreatePopup = function() { 

     var modalInstance = $modal.open({ 
      animation: true, 
      templateUrl: 'app/popups/add-lookup.html', 
      controller: function ($scope, $modalInstance, $location, $routeParams, lookupService) { 
       $scope.cancel = function() { 
        $modalInstance.close(); 
       } 

       $scope.addLookup = function() { 
        $scope.lookup.lookUpConfigId = $routeParams.lookupMasterId; 
        lookupService.save($scope.lookup).$promise.then(
         function (value) { 
          $location.path('/edit-lookup/' + $routeParams.lookupMasterId); 
         $scope.$apply();// Even this is not working. 
         // Tried the below as well: 
         //$scope.$apply(function() { 
          //  $location.path('/edit-lookup/' + //$routeParams.lookupMasterId); 
          // }); 

          $modalInstance.close(); 
         }, 
        function (error) { /*Do something with error*/ 
         alert(error.message); 
        }); 
       } 
      }, 
      size: 'lg' 
     }); 
    } 
} 
]); 

Я открываю всплывающее окно для добавления нового поиска, а затем перезагрузить страницу, чтобы увидеть изменения. Но проблема в том, что: $location.path('url'); не работает.

+0

использовать $ route.reload(), чтобы перезагрузить текущую страницу: http://stackoverflow.com/questions/16703215/how-to-reload-or-re-render -the-whole-page-using-angularjs – ThibaudL

+0

Не работает также. –

ответ

0

В этом случае вы должны использовать услугу $state. Попробуйте

$state.go('/edit-lookup/' + $routeParams.lookupMasterId); 

Не забудьте вводить $state в контроллере initilization. Кроме того, в вашем определении модуля вам нужно передать «ui.router» как зависимость:

E.g. angular.module('my_app', ['ui.router']) 

EDIT

Я думаю, что вы не сработал ui-router.min в вашей веб-странице. Пожалуйста, загрузите его только после того, как angular.js

<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js"></script> 
+0

Это перезагрузит всю страницу, которая не является тем, что требуется в приложении с одной страницей. Поэтому я не хочу этого пытаться. –

+0

@UsmanKhalid чек отредактирован ответа – Vineet

+0

Ошибка: Неизвестный поставщик: $ stateProvider <- $ состояние –

Смежные вопросы