2014-07-04 31 views
2

我的問題是我們可以重新加載視圖在ui路由器,如果你在相同的狀態。 檢查我的代碼at` http://plnkr.co/edit/MA7CuyH2RFrlaoAgBYog?p=preview當你在角度ui路由器相同的狀態下重新加載狀態

我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

可能的控制器功能重複? http://stackoverflow.com/questions/21714655/angular-js-angular-ui-router-reloading-current-state-refresh-data –

+0

嗨賈斯汀這裏的問題是不同的。如果點擊相同的菜單,我想用菜單點擊重新加載頁面 –

回答

6

附加屬性的元素與

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

例如:

<a ui-sref-opts="{reload:true}" ui-sref="app.post.applicants">Applicants</a> 
0

你可以趕上一個「NG單擊」並使用$狀態服務轉型點擊/重載務實

0

我有這樣類似的問題,我解決了這兩個簡單的方法。 ..

首先,我寫了一個函數到相關的控制器(我的狀態是「收件箱」,你可以用自己的UI狀態):

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

其次調用此函數來定位標記:

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

希望這將有助於。 :)

1

使用NG點擊和寫入$ state.go

相關問題