2016-10-04 5 views
3

私は角度uiルーターを使用していて、親抽象ステート( "home")と2つの子ステート( "home.ports"と "home.editPort")を持っています。状態。 "home.state"はデフォルトの状態です。したがって、home.stateが読み込まれたときにページをリフレッシュすると、parent( "home")状態が最初にトリガーされ、resolveプロパティでhttp要求がトリガーされます。私の子供の状態は私がサーバー上で変更を加えることができ、親状態のリストを更新することができます。私は子供の状態(「home.editPort」)に行くと、そのはresolveのみ呼び出さ子ステートが角で親ステートをトリガーしない

.state('home', { 
    url: "/home", 
    templateUrl: "dest/partials/home/_home.html", 
    controller: "HomeController", 
    abstract : true, 
    data: { 
     requireLogin: true 
    }, 
    resolve: { 
     // making an http request 
     jqTreeData : ['httpService', 'BASE_HOME_URL', function (httpService, BASE_HOME_URL) { 
      var obj = { 
        url : BASE_HOME_URL + "emulationDetails", 
        responseType : "json", 
        method : "GET" 
       }; 
      return httpService.makeAjax(obj); 
     }] 
    } 
}) 
.state('home.ports', { 
    url: "/ports", 
    //templateUrl: "dest/partials/home/ports/_portList.html", 
    template: "<custom-Table tbl-Caption='Port Listing'></custom-Table>", 
    controller: "PortsListController" 
}) 
.state('home.editPort', { 
    url: "/editPort", 
    template: "<h1>Edit ports</h1>" 
}); 
+0

子の状態をどのようにリダイレクトしていますか? –

+0

私のアプリにはリンク(アンカータグ)がほとんどありません。ユーザーがクリックすると、それぞれの状態がトリガーされます($ state.go(...)) –

答えて

0

更新リストを取得するために自宅の状態をトリガしませhome.portsに来ていたときので、問題がありますhome.portshome.editPortの間でナビゲートしているため、両方とも子の状態がhomeであるため、実際にはhomeの状態から離れることはありません。resolveは再び呼び出されません。あなたはまだその状態のままです。

home.editPort状態のタスクの完了によってトリガされるデータを取得するために、サービスを別の呼び出しを行う必要があります。

関連する問題