2016-07-07 4 views
0

マイUI-ルータと呼ばれていない設定です:AngularJS UIルータがキャッシュし、次のようにtemplateUrl、MVCコントローラ

var editMe = { 
     name: 'edit.editme', 
     url: '/users/edit/:Id', 
     parent: edit, 
     templateUrl: function (params) { 
      return '/users/edit/' + params.Id; 
     }, 
     controller: 'EditMeController' 
    } 

これは、ユーザー情報を返し、正しいIDを持つ私のMVCコントローラのアクションメソッドを呼び出します。いくつかの値を変更した後、このユーザーに再び移動したいと思います。 templateUrlがキャッシュされ、MVCコントローラメソッドが再度呼び出されず、古いデータが返されます。どのように私はこのキャッシュを防ぐことができるか、またはMVCアクションメソッドが再度呼び出されることを確認するための任意のアイデア?

ありがとう

答えて

0

[OK]をクリックします。最初のロード後にtemplateUrlがキャッシュされます。その後、MVCコントローラは再び呼び出されません。

templateProviderを使用して$ http.getはこれを解決します

var editMe = { 
     name: 'edit.editme', 
     url: '/users/edit/:Id', 
     parent: edit, 
     templateProvider: function ($stateParams, $http) { 
      return $http.get('/users/edit/' + $stateParams.Id) 
       .then(function (result) {       
        return result.data; 
       }); 
     },    
     controller: 'EditMeController' 
    }  

$ http.get MVCコントローラメソッドを表示するために返される「新鮮な」HTMLで、その結果、毎回呼び出される保証します。

関連する問題