2

My Question is can we reload the view in ui-router if you are on same state. check my code at`http://plnkr.co/edit/MA7CuyH2RFrlaoAgBYog?p=preview

My app.js file is

var app = angular.module('plunker', ['ui.router']);
app.config(function($stateProvider) {
$stateProvider
  .state("view1", {
    url: "/view1",
    templateUrl: "x.html"
  })
  .state("view2", {
    url: "/view2",
    templateUrl: "y.html"
  })
})
app.controller("MainCtrl",function(){});

And index page is

<body ng-controller="MainCtrl">
<a href="#/view1">Accounts</a>
<a href="#/view2">Dashboard</a>
<div ui-view></div>

Now click on Dashboard link here you will see a text box. fill any value in that. Now again click on Dashboard link. now the state should reload and all data of page should be reloaded including its controller. Please make sure to ui-router only.

Thanks

Amit Mourya
  • 538
  • 1
  • 7
  • 18
  • Possible duplicate? http://stackoverflow.com/questions/21714655/angular-js-angular-ui-router-reloading-current-state-refresh-data – Justin Obney Jul 04 '14 at 18:44
  • Hi Justin here the question is different. I want to reload the page with menu click if same menu is clicked – Amit Mourya Jul 05 '14 at 05:01

4 Answers4

7

add attribute to the element with

ui-sref=""ui-sref-opts="{reload:true}"

example:

<a ui-sref-opts="{reload:true}" ui-sref="app.post.applicants">Applicants</a>
Shireesh Kumar
  • 154
  • 1
  • 3
1

Use ng-click and write a controller function with $state.go

jaamba
  • 21
  • 2
0

You could catch the click in a "ng-click" and use the $state service to transition/reload pragmatically

Justin Obney
  • 1,078
  • 3
  • 13
  • 25
0

I had this similar issue and I solved this in two simple way ...

First I wrote a function into related controller (my state was 'inbox' you can use your own ui-state):

$scope.reload = function() { $state.go('inbox', null, { reload: true }); }

Second call this function to anchor tag:

<a ng-click="reload()">Inbox</a>

Hope it will help. :)

jewelfarazi
  • 460
  • 4
  • 10