我正在尝试编写一个名为“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>
在这种情况下,组件如何知道将订单对象作为参数发送给点击回调函数?