2017-10-25 14 views
1

ページをリフレッシュする際に問題が発生しました。例:基本アプリが開き、URLがlocalhost:8000/dashboardの場合は、メニューからユーザータブに移動します。それ以外の場合はURLはlocalhost:8000/users/listです。ユーザーがいる間にページを更新すると、ページ全体を再度読み込んでダッシュボードに移動します。
バックエンドが正しく処理しています。私はカスタム状態を作り、 'ng-admin'を親として指定していませんが、リフレッシュしているところにとどまっていますが、親を追加してアプリケーション全体を再読み込みしています。 html5modeも有効です。リフレッシュ後のng-admin全体のリロードを防ぐ方法

$locationProvider.html5Mode({ 
    enabled: true, 
    requireBase: false 
}); 

エンティティは、指定NG-adminのドキュメントとして追加されます。

app.config(['NgAdminConfigurationProvider', 'RestangularProvider', function(nga, RestangularProvider) { 
    var admin = nga.application('Admin') // application main title 
     .debug(false) // debug disabled 
     .baseApiUrl('/api/'); // main API endpoint 

    var users = nga.entity('users'); 

    admin 
     .addEntity(users); 
    users.listView() 
      .title('Admin users') 
      .fields([ 
       nga.field('name') 
        .label('Name') 
        .isDetailLink(true), 
       nga.field('email') 
        .label('E-mail Address'), 
       nga.field('created', 'date') 
        .label('Created') 
        .map(fromNow), 
       nga.field('modified', 'date') 
        .label('Modified') 
        .map(transformDate), 
       nga.field('active', 'boolean') 
        .label('Status'), 
       nga.field('createdBy') 
        .label('Created by'), 
       ]); 

コードの次のブロック

$rootScope.$on('$stateChangeSuccess', function (event, newUrl, oldUrl, newState, oldState) { 
    console.log('event:' , event); 
    console.log('newUrl:' , newUrl); 
    console.log('oldUrl:' , oldUrl); 
    console.log('newState:' , newState); 
    console.log('oldState:' , oldState); 
}) 

ダッシュボードから、ユーザーに行くとき、それは出力が得られます。

event: {name: "$stateChangeSuccess", targetScope: p, defaultPrevented: false, currentScope: p, preventDefault: ƒ} 
newUrl: {url: "?{search:json}&{page:int}&sortField&sortDir", params: {…}, parent: "listLayout", views: {…}, name: "list"} 
oldUrl: {entity: "users", search: {…}, page: 1, sortField: null, sortDir: null} 
newState: {parent: "ng-admin", url: "/dashboard?sortField&sortDir", params: {…}, controller: "DashboardController", controllerAs: "dashboardController", …} 
oldState: {sortField: null, sortDir: null} 

更新時に

event: {name: "$stateChangeSuccess", targetScope: p, defaultPrevented: false, currentScope: p, preventDefault: ƒ} 
newUrl: {parent: "ng-admin", url: "/dashboard?sortField&sortDir", params: {…}, controller: "DashboardController", controllerAs: "dashboardController", …} 
oldUrl: {sortField: null, sortDir: null} 
newState: {url: "?{search:json}&{page:int}&sortField&sortDir", params: {…}, parent: "listLayout", views: {…}, name: "list"} 
oldState: {entity: "users", search: {…}, page: 1, sortField: null, sortDir: null} 

答えて

0

問題は、ダッシュボードに移動するメソッドを追加するヘッダーコントローラー機能に間違いがあり、ヘッダーが再初期化されるたびに呼び出されるという問題でした。多分これは誰かを助けるでしょう。

+0

これを修正した方法の詳細を教えてください。 –

+0

'関数HeaderController(Auth、$ location、$ sessionStorage、$ localStorage){ var vm = this; vm.action = { ログアウト:ログアウト、 goTo:goTo }; function logout(){ Auth.Logout(); } 関数goTo(状態){ $ location.path(状態); } } ' –

+1

私はこれをこのvm.action = {logout:logout、goTo:goTo()}のように使用していました。 –

関連する問題