0

私の目標は、AngularJS が提供しているルートに応じて body にクラスを追加することです。

たとえば、これを(HAMLで)実行したいと思います:

%body#body{:class => "{{$route.current.templateUrl}}"}

$routeここのドキュメントにある変数を参照します: http://docs.angularjs.org/api/ng.$ro​​ute

これは、 にアクセスすると/#/whatever、テンプレートがロードされ、whatever.htmlそのテンプレート ファイル名がクラスとして表示され、<body class="whatever.html">.

4

1 に答える 1

1

バインディングは のコンテキストで解決されますscope。そのため、バインド プロパティをスコープで使用できるようにする必要があります。あなたができることは$route、コントローラーに注入し、コントローラーの$scopeプロパティにバインドするプロパティを割り当てることです。

$scope.templateUrl=$route.current.templateUrl;

次にバインドしますtemplateUrl

于 2013-08-09T05:45:33.810 に答える