перезагрузить состояние, когда вы находитесь в том же состоянии в угловом ui-router

Мой вопрос: можем ли мы перезагрузить представление в ui-router, если вы находитесь в том же состоянии. проверьте мой код на странице` http://plnkr.co/edit/MA7CuyH2RFrlaoAgBYog?p=preview

Мой файл app.js

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(){});

И индексная страница

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

Спасибо


person Amit Mourya    schedule 04.07.2014    source источник
comment
Возможный дубликат? stackoverflow.com/questions/21714655/   -  person Justin Obney    schedule 04.07.2014
comment
Привет, Джастин, здесь вопрос в другом. Я хочу перезагрузить страницу, щелкнув меню, если выбрано то же меню   -  person Amit Mourya    schedule 05.07.2014


Ответы (4)


добавить атрибут к элементу с помощью

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

пример:

<a ui-sref-opts="{reload:true}" ui-sref="app.post.applicants">Applicants</a>
person Shireesh Kumar    schedule 15.12.2015

Используйте ng-click и напишите функцию контроллера с помощью $ state.go

person jaamba    schedule 15.12.2015

Вы можете поймать щелчок в «ng-click» и использовать службу $ state для прагматичного перехода / перезагрузки.

person Justin Obney    schedule 07.07.2014

У меня была аналогичная проблема, и я решил ее двумя простыми способами ...

Сначала я написал функцию в связанный контроллер (мое состояние было «входящие», вы можете использовать свое собственное ui-состояние):

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

Второй вызов этой функции для привязки тега:

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

Надеюсь, это поможет. :)

person jewelfarazi    schedule 04.09.2014