URLバーの変更を監視し、それに基づいて特定の操作を行う必要があります。私はそれに変更を見る時計を追加するための最良の方法は何か疑問に思った?
5
A
答えて
12
イベントが存在し、それらは単にいくつかの理由のために文書化されていないしています。 $locationChangeStart
と$locationChangeSuccess
scope.$on('$locationChangeStart', function (event, newLoc, oldLoc){
console.log('changing to: ' + newLoc);
});
scope.$on('$locationChangeSuccess', function (event, newLoc, oldLoc){
console.log('changed to: ' + newLoc);
});
またはアンダースが示唆したように、あなたは$ $の時計の最初の引数に関数を渡すことで、あなたが望む任意の値を見ることができます:
次のイベントを試してみてくださいしかし
scope.$watch(function() { return $location.path(); }, function(newLoc, oldLoc){
console.log(newLoc, oldLoc);
});
これはあなたの$ダイジェストに少しオーバーヘッドを作成します。
1
あなたは、コントローラの$の場所オブジェクトを要求したと仮定すると、あなたはこのようにそれを行うことができます。
$scope.$watch(function() { return $location.path() }, function() {
// Do stuff when the location changes
});
関連する問題
- 1. LocationProvider
- 2. LocationProvider costAllowed
- 3. BlackBerry 6.0のLocationProviderタイムアウト?
- 4. は、どのように私はAngular.jsを学んでいるangular.js
- 5. angular.js
- 6. アンドロイドでLocationProviderのステータスを取得する方法
- 7. Angular.jsインターセプタでHTTP 401をキャプチャ
- 8. angular.jsでクッキーをクリアする方法
- 9. AndroidのどのLocationProviderにお金を使うのですか?
- 10. Angular.js with jQuery Mobile
- 11. angular.js:38Uncaughtエラー:[$ injector:modulerr]
- 12. Angular.js、Yeoman、Grunt
- 13. Highcharts angular.jsカスタムツールチップ
- 14. Angular.jsのサブディレクトリ内でのルーティング
- 15. $ routeProvider/$ locationProviderはAngularJSルーティングの機能ではありません
- 16. angular.jsのテンプレート - 継承
- 17. Angular.jsの検索フィルター、
- 18. JavaScript(Angular.js)のRegExpフィルタ
- 19. は工夫がAngular.js
- 20. angular.jsファクトリで$ httpを使用して
- 21. MVC4環境でRazorとAngular.jsを使用
- 22. Network LocationProviderを使用した複数の読み取り
- 23. Angular.JSのディレクティブは何ですか
- 24. Angular.js - img srcタグのフィルタ
- 25. Angular.Js入力[日]検証
- 26. テンプレートのコンテンツのAngular.jsのフラッシュ
- 27. 再初期化Angular.jsコントローラ
- 28. angular.js chrome Access-Control-Allow-Origin
- 29. Angular.jsで既存のHTMLからデータを抽出する
- 30. angular.jsでカレンダー順に月を並べるには?
ありがとう@blesh。 2つのイベントがいつ発生するのかを特定しようとしています。何か案は? – Lior
これは$ locationの初期化コードにすべて設定されています。 [GitHubのソースを見る](https://github.com/angular/angular.js/blob/master/src/ng/location.js) $ locationChangeStartではCTRL + Fを押すだけです。これは基本的に$ watch()メソッドの提案と同じですが、既に設定されていますので、オーバーヘッドは少なくなります。 –
一言で言えば、 '$ locationChangeStart'が最初に起こり、渡されたイベントオブジェクトに対して' preventDefault() 'を使って変更を防ぐオプションが与えられます。 '$ locationChangeSuccess'は、場所が正常に変更された後に起動します。 (むしろ、あなたが場所を変更することを約束したとき)。 –