コントローラー内でサービスを使用して$location
ディープリンクを有効にしています。私のコントローラーは次のようなことをします:
$location.path("/"+param);
$("title").text(param);
最初の行の後に 2 行目の実行が終了することが重要です。そうしないと、ブラウザ内の履歴項目に、古い URL の代わりに古い URL の新しいタイトルが表示されます。現在、Google.com でこのエラーが発生しています。ホームページから検索してから、別の検索を試してから、ブラウザの [戻る] ボタンを押したまま、最新の履歴項目を押してください。意味がわかります。
これを修正する 1 つの方法は次のとおりです。
$location.path("/"+param);
setTimeout(function() {
$("title").text(param);
}, 1);
...しかし、それは私にはあまりうまくいきません。$location
だから私の質問は、シングルトンがそれ自身のビジネスを終えたら、どのようにして2行目の実行を確実に延期するのですか?