简体   繁体   中英

reload state when you are on same state in angular ui-router

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

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>

使用ng-click并使用$ state.go编写控制器函数

您可以在“ng-click”中捕获单击并使用$ state服务以实用方式转换/重新加载

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. :)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM