テンプレート($ location.pathの内容)のurlから現在のパスが必要です。しかし、私はコントローラがたくさんあるのでコントローラ経由ではありません(そして、私は$scope.currentUrl = $location.path;
の宣言を複製したくありません)。アドバイスをいただきありがとうございます。
答えて
AngularJSテンプレートはスコープ内で利用可能なものだけを見ることができるため、$ locationサービスをスコープに配置する必要があります。 $ rootScopeというAngularJSアプリケーションではいつでも利用可能なスコープが1つありますので、あなたのユースケースに使用できます。あなたは何ができるか
は$ rootScopeで$場所を公開するモジュールのrun()メソッドを使用することです:
var myApp = angular.module('myApp', []).run(function($rootScope, $location) {
$rootScope.location = $location;
});
これはあなたにそう以降のすべてのテンプレートに「場所」は利用可能になるだろう行うことができますテンプレートに:
Current path: {{location.path()}}
代替は、コントローラでは、ui-routerよりセマンティックと汎用性を使用retrieve the current state、および$scope
に保管することです:
app.controller('MyCtrl', ['$scope', '$state', function MyCtrl($scope, $state) {
$scope.state = $state.current.name;
...
}
なぜ私は聞くかもしれないdownvotes? –
私のためにうまくいった。 –
私はdownpotesがおそらくOPがui-routerを使用していても(この問題だけでは移行するのに十分な理由ではない)、これは通常はURLのパスとは全く異なる状態名を返しますparams)。たとえば、私のアプリケーションでは、パス: "/ graphs/56ce3/edit"に対して、コードは状態の名前 "edit.graph"を返します。 HyperboleとHalfの言葉で言えば、その解決策は、私が持っているものとは異なる問題です。 :) – 0x24a537r9
- 1. テンプレートを取得するにはどうすればいいですか?
- 2. DjangoテンプレートからAngularJSルートを逆にするにはどうすればいいですか?
- 3. グローバルに設定されたCDN URLをAngularJSのテンプレートに渡すにはどうすればよいですか?
- 4. Angularjsアプリケーションをクロージャブルにするにはどうすればいいですか?
- 5. CSSをテンプレートに添付するにはどうすればいいですか?
- 6. AngularJs $ http.get paramsに "="を含めるにはどうすればいいですか?
- 7. Jadeテンプレートにサーバーサイドスクリプトを含めるにはどうすればいいですか?
- 8. Ecoテンプレートを使用したBackbone.js:テンプレートにテンプレートを含めるにはどうすればいいですか?
- 9. AngularJSでページを保存するにはどうすればいいですか
- 10. テンプレートでコントロールを使用するにはどうすればいいですか?
- 11. テンプレートでデータを作成するにはどうすればいいですか?
- 12. Twigテンプレートでイメージをトリミングするにはどうすればいいですか?
- 13. AngularJSテンプレートを文字列に変換するにはどうすればよいですか?
- 14. AngularJSがテンプレート内で計算を実行するにはどうすればよいですか?
- 15. ダイナミックモデルを宣言するにはどうすればいいですか? angularjs
- 16. Angularjsオブジェクトを表示するにはどうすればいいですか?
- 17. DropZone JSONオブジェクトをAngularJSに渡すにはどうすればいいですか?
- 18. AngularJSのコントローラのディレクティブのテンプレート属性に戻り値を戻すにはどうすればよいですか?
- 19. htmlテンプレートを反応させるにはどうすればいいですか?
- 20. テンプレートにアーキタイプをレンダリングするにはどうすればよいですか?
- 21. カテゴリをテンプレートに追加するにはどうすればよいですか?
- 22. テンプレートにForeignKeyフィールドをレンダリングするにはどうすればよいですか?
- 23. Bloggerにxmlテンプレートをインストールするにはどうすればよいですか?
- 24. Django:テンプレートを介してForeignKeyでデータを取得するにはどうすればいいですか?
- 25. AngularJSのテンプレートからサービスを呼び出すにはどうすればよいですか?
- 26. JSPからモデルからAngularJS変数にオブジェクトを取得するにはどうすればよいですか?
- 27. AngularJSでLaravelを使用するにはどうすればよいですか?
- 28. ES6でAngularJSを実装するにはどうすればよいですか?
- 29. AngularJSでメタタグを更新するにはどうすればよいですか?
- 30. AngularJSで$ httpリクエストをキャンセルするにはどうすればよいですか?
独自のスコープのディレクティブテンプレートでは、現在のパス:{{$ parent.location.path()}} ' – benweet
を使用する必要があります。' {{$ root.location。 xxx}} 'スコープが分離されているディレクティブは省略形の方法ではアクセスできず、' $ parent.location'はスコープの深さによっては信頼できないためです。 '$ root'は常に動作します。 –