2017-11-29 13 views
0

角度1.5.11と角度-ui-router 1.0.0-beta.3を使用しています。角度UIルータがコンポーネントを再ロードしないようにする

私はGithubと同様の "websudo"を実装しました。これは、あなたが長い時間前に最後にログインした場合にログインページに移動します。ログインし直すと、元のページに戻ります。キャッチするのは、読み込んだコンポーネントがリロードしないようにすることです(この方法で作業を再開できます)。私は、次のことを試してみたが、コンポーネントは常に後ろにログインした後にリロードすると、コンポーネントのルートにリダイレクトされている:

$state.go('component.route', {}, {reload: false, notify: false}); 

は、おそらくこの機能を実装するための代替方法はありますか?

答えて

0

すべてのデータをビューから参照されるファクトリ/サービス(コントローラに注入し、ビューからファクトリ/サービスにスコープと参照プロパティを置く)に格納すると、そのデータはページが走っています。

JSは

angular.module('myMod',[]) 
    .service('PersistData', function(){ 
    return {} 
    }) 
    .controller('MyCtrl', function(PersistData){ this.PersistData = PersistData}) 

HTML

<div ng-app="myMod" ng-controller="MyCtrl as myCtrl"> 
    <input type="text" ng-model="myCtrl.PersistData.first_name"/> 
</div> 

PersistDataを取得するために、他の呼び出しのためにそれへの参照を保持することが、その後の参照です初めてオブジェクトを作成します角度$injector /(シングルトンそれを注入します)。

+0

いいえ、グローバルインスタンスを作成するとコードベースが正しい方向に移動しません –

+0

@ UAvalosコントローラインスタンスが破棄された状態から離れるときにデータを保存する予定で、その範囲内のオブジェクトを使用する計画ですか?私はあなたのために働かないニュースがあります。あなたは、データを何らかのソート「グローバル」オブジェクトに永続化する必要があります(コントローラーがスリムでサービスが普及していれば、サービスはあらゆる角度で使用されます)、ローカルストレージやサービスよりもグローバルなものに格納します。シングルトンを使ってどこかを読んだだけで反パターンがあるということは、常に100%真実だということです。 – shaunhusain

+0

あなたのソリューションが不変で純粋な機能とTDD(そして存在しない)であることを知ったとき、あるいはあなたのモデルを文字列化し、URLまたはローカルストレージに詰め込むといった提案された解決策よりも何かを行うことを決めるときに教えてください。 – shaunhusain

関連する問題