2016-08-22 4 views
1

配列をコンポーネントに角1で渡したいが、私はコントローラの中にいない(1つのコンポーネントのみのアプローチを作成したくない)。私はで始まっています:コントローラを使わずに角をつけて配列にコンポーネントを渡す

<user-list users="users"></user-list> 

ユーザーはJS配列です。もちろん、それは動作しませんが、それを作る方法?

+1

これは指令です。 https://docs.angularjs.org/guide/directive – gianlucatursi

+0

コントローラー・ディレクティブを直接使用したくない場合は、別のコンポーネントにコンポーネントをラップすることができます。 – Grundy

+0

これは、ディレクティブ*または*コンポーネントです。ディレクティブの場合は、ディレクティブの 'scope'定義に' users'を追加し、 '$ scope.yourkey'で利用可能になります。コンポーネントの場合は、それを 'bindings'に追加します。デフォルトでは' $ ctrl.yourkey'で利用可能になります。 –

答えて

0

[OK]を、私は特別な "プロキシのコンボーンnt "だけでスコープ変数を渡すことができます。

0

これは、簡単にあなたは、単にディレクティブに

<p> 
    Some html 
</p> 
<users-list users="users"></users-list> 
を追加するには、メインアプリケーションのHTMLでangularjs

agular.module('app').directive('usersList', function() { 
    return { 
     restrict : 'E', 
     transclude : false, 
     scope : { 
      users : '@' 
     }, 
    } 
}; 

template.html

<div ng-repeat="user in users> 
     {{ user.firstName }} {{user.lastName }} 
</div> 

にディレクティブを使用することによって達成することができます

+0

残念ながら、 'users'はディレクティブでは定義されていません。 – krojew

+0

'@'を '='に変更すると、変数にバインドされます。 –

関連する問題