0

シングルページのAngularアプリケーションを作成しようとしていますが、特定のコントローラービューのスタイルをロードする方法がわかりません.コントローラーのスコープはボディ要素にしか適用できません.

角度アプリケーション全体の基本レイアウトは次のとおりです。

<!DOCTYPE html>
<html ng-app="app">
<head>
    <link href="/styles/some-basic-styles.css" rel="stylesheet" />

    <script src="/scripts/angular.min.js"></script>
    <script src="/script/custom/app.js"></script>
</head>
<ng-view></ng-view>
</html>

その app.js ルーティング:

app.config(function ($routeProvider) {
  $routeProvider
    .when('/somepage', {templateUrl: 'views/someView.html', controller: 'someController'});
 $routeProvider
    .when('/anotherpage', {templateUrl: 'views/anotherView.html', controller: 'anotherController'});
});

ビューの例:

<body ng-controller="someController">
    <!--some html code here-->
<script src="/scripts/someController.js"></script>
</body>

では、グローバル tamplate からしかアクセスできない場合、ビューにページ タイトルを変更したり、スタイル/スクリプトを追加したりするにはどうすればよいですか?

私は何かを誤解したか、角度について何か他のことを学ばなければならないと思いますが、それは何ですか? 助けてくれてありがとう!

4

2 に答える 2

0

よくわかりませんが、html同様に ng-controller を定義RootControllerしてから、標準の角度バインディングを使用して必要なものを達成できます。

それがうまくいかない場合は、常にあり$rootScopeます。で定義されたプロパティ\メソッドは、$rootScope内のどこからでもアクセスできますng-app

于 2013-10-19T10:33:28.033 に答える
0

タイトルについては、次のようにコントローラーで実行できます

$window.document.title = 'My title';

または、次のようなサービスを設定することをお勧めします

app.factory('WindowUtils', function($window) {
        return {
           setTitle:function(str){
              $window.document.title = str;
           }
        }
    })

スタイルについては、アプリケーション全体のすべてのスタイルを styles.css グローバルに配置できるため、問題がわかりません。

于 2013-10-19T13:49:05.700 に答える