「foo」というコンポーネントを作成しようとしています。このコンポーネントはラベルを取り、「hello {{$ctrl.label}}」と表示します。また、クリック時にコールバック関数を呼び出します
<foo label="'bar'" callback="$ctrl.myCallback()"</foo>
これまでのところ、すべて順調です。私のコントローラーは実際にコールバックを取得します
だから今、私はこの要素を ng-repeat に入れました:
<foo ng-repeat="item in $ctrl.items" label="item.label" callback="$ctrl.myCallback(item)></foo>
クリック時にコントローラーに戻すものをコンポーネントで定義するにはどうすればよいですか? コンポーネントはitem
渡されておらず、「ラベル」のみが渡されています。
私が読んだことから、私は次のようなことを言う必要があります
this.callback({item: SomeObject});
ここで 2 つの質問があります。1) コンポーネントは「item」キーを提供する必要があることをどのように認識し、2) コンポーネントは SomeObject が何であるかをどのように認識しますか?
別の ng-repeat でコンポーネントを簡単に再利用できます。
<foo ng-repeat="order in $ctrl.orders" label="order.orderNum" callback="$ctrl.myCallback(order)></foo>
この場合、コンポーネントは注文オブジェクトをパラメーターとしてクリック コールバック関数に送信することをどのように認識しますか?