0
私は現在$ stateParamsで新しい状態にIDを渡しています。うまく動作しますが、ユーザーがページをリロードするとどうなりますか?明らかに、$ stateParamsには値はありません。この問題を回避するには、初期ページの読み込み時に$ stateParam idをlocalStorageにロードする必要がありました。再ロード時に、$ stateParamsのidが存在しない場合は、手動で割り当てます。例:
// Ensure params are set when page is reloaded
if (!$stateParams.id) {
$stateParams.id = localStorageService.get('campaignId');
$state.go($state.current, $stateParams);
}
私のローカルマシンではこれが動作します。しかし私の開発サーバーでは、このエラーが発生しています:
Cannot assign to read only property 'id' of object '#<Object>'
$ stateParamsを書き込み可能にする方法はありますか?
これは意味があると思いますが、事前に感謝します。
https://plnkr.coまたはhttps://jsfiddle.netを作成できますか。 – couzzi
これを行うにはいくつかのハックがありますが、ほとんどの場合、このアプローチは何らかの悪い設計決定の兆候です。通常は、URLにリロードした後に必要な状態をルートパラメータとして保持し、state.go()を使用してstateParamsを設定します – ChrisY