0

angular-ui/ui-router を使用しており、状態変化時にレンダリングされるように定義された分離スコープを持つディレクティブ/コンポーネントがあります。

$stateProvider
    .state('about', {
      url: '/about',
      template: '<about></about>'
    })
    .state('blog', {
      url: '/blog',
      template: '<blog></blog>'
    })

私のメインページは、コントローラーにすべての権限を持つユーザーをロードするディレクティブです

app.directive('main', function() {
  return {
    ...
    template: "<div><header></header><div ui-view></div></div>",
    controller: [..., function(...) {
       $scope.user = // $http load user
    }]
);

さまざまな状態に移動するときに、ユーザーがすべての ui-view ディレクティブ/コンポーネントに渡されるようにします。ただし、状態が変化するたびにユーザーresolveロードしたり、$rootScope

次のようなものを探しています。ユーザーは親スコープのものです。

$stateProvider
    .state('about', {
      url: '/about',
      template: '<about user="user"></about>'
    })
    .state('blog', {
      url: '/blog',
      template: '<blog user="user"></blog>'
    })

これを行う方法はありますか?

4

2 に答える 2

1

コントローラーでは、のように $rootScope にユーザーを割り当てることができ$rootScope.user = sthます。次に、状態の URL ごとにコントローラーを追加して、のようなユーザーを取得する$scope.user= $rootScope.userか、rootScope ユーザーをパラメーターとして渡すことができます。

于 2016-08-04T04:48:18.153 に答える
0

このようにコントローラーで $rootscope を使用する必要があります

$rootScope.user = sth;

このようなユーザーを取得できます

$scope.user= $rootScope.user;
于 2016-08-04T06:37:41.403 に答える