私たちには、ui-router AngularJSモジュールを使用するASP.NET MVC 5アプリケーションがあります。角度ui-routerには、状態に戻って古い無効データが表示されます
すでにロードされている状態に戻ると、ページ全体をリフレッシュするまで、常に古いデータが表示されます。例えば
:
- ユーザーがクリック「プロフィール」、私たちは「ViewProfile」状態を示し、プロファイル
- ユーザーがクリックする「プロフィールの編集」を表示するページ、我々は「EditProfile」状態を示し、 、プロファイルを編集するフィールドを持つページ
- ユーザーは変更を加えて「保存」をクリックすると、「ViewProfile」状態に戻されます。
- 「ViewProfile」状態がロードされると、編集
状態をロードするたびにui-routeに新しいデータを強制的に引き込ませるにはどうすればよいですか?すべての機能は、jQueryのを使用して書かれているので、我々はソリューション /wの移行
$state.go(stateName, { action: actionName }, { reload: true, inherit: false, notify: true });
EDITをやっている方法
角度設定
var app = angular.module("MyApp", ['ngIdle', 'ui.router'])
.config(['$stateProvider', '$urlRouterProvider', '$locationProvider',
function ($stateProvider, $urlRouterProvider, $locationProvider) {
// Configure client-side routing
$locationProvider.hashPrefix("!").html5Mode(true);
$urlRouterProvider.otherwise("/");
$stateProvider
.state('Home', {
url: '/',
views: {
"mainContainer": {
templateUrl: function (params) { return 'Home/Index'; }
}
}
})
.state('ProfileManagement', {
url: '/ProfileManagement-{action}',
views: {
"mainContainer": {
templateUrl: function (params) { return 'ProfileManagement/' + params.action; }
}
}
})
}]);
、我々は角を使用することはできませんコントローラを使用してデータを制御します。私たちのソリューションは、次のコードを使用して角テンプレートのキャッシングを完全に無効にすることでした:
app.run(function ($rootScope, $templateCache) {
$rootScope.$on('$viewContentLoaded', function() {
$templateCache.removeAll();
});
});
古い質問ですが、同じ問題があります。私はあなたのコードを追加しましたが、今回私はすべてのグローバルな情報を失いました。何か案が? – Murat