我的问题是,如果您处于相同状态,我们是否可以在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>
现在点击信息中心链接,您会看到文本框。填写任何值。现在再次点击信息中心链接。现在状态应该重新加载,并且应该重新加载页面的所有数据,包括其控制器。请确保仅 ui-router 。
由于
答案 0 :(得分:7)
使用
为元素添加属性ui-sref=""ui-sref-opts="{reload:true}"
示例:
<a ui-sref-opts="{reload:true}" ui-sref="app.post.applicants">Applicants</a>
答案 1 :(得分:1)
使用ng-click并使用$ state.go
编写控制器功能答案 2 :(得分:0)
您可以在“ng-click”中捕获点击并使用$ state服务以实际方式转换/重新加载
答案 3 :(得分:0)
我有类似的问题,我用两种简单的方法解决了这个问题......
首先我将一个函数写入相关的控制器(我的状态是'收件箱'你可以使用你自己的ui状态):
$scope.reload = function() { $state.go('inbox', null, { reload: true }); }
再次调用此函数来锚定标记:
<a ng-click="reload()">Inbox</a>
希望它会有所帮助。 :)