Я пытаюсь написать компонент под названием «foo» - этот компонент принимает метку и говорит «hello {{$ ctrl.label}}». Он также вызывает функцию обратного вызова по щелчкуУгловое '&' Связывание и параметры
<foo label="'bar'" callback="$ctrl.myCallback()"</foo>
Все хорошо до сих пор. Мой контроллер действительно получить обратный вызов
Так что теперь я ставлю этот элемент в нг-повтора: <foo ng-repeat="item in $ctrl.items" label="item.label" callback="$ctrl.myCallback(item)></foo>
Как определить в компоненте, что необходимо передать обратно в контроллер на клик? Компонент не передает item
, а только «метку».
Из того, что я прочитал, я должен сказать что-то вроде this.callback({item: SomeObject});
У меня 2 вопроса: 1) как же компонент знают, что он должен поставить «элемент» ключ и 2), как компонент знает, что такое SomeObject?
я мог бы легко использовать компонент в других нг-повторе: <foo ng-repeat="order in $ctrl.orders" label="order.orderNum" callback="$ctrl.myCallback(order)></foo>
и в этом случае, как же компонент знать, чтобы отправить объект заказа в качестве параметра функции обратного вызова нажмите?
ооо, я вижу. в этом есть смысл. Я дам эту попытку - спасибо! – jmls
проверено, работает для меня; Большое спасибо – jmls
@jmls ok, я обновил свой ответ с более подробным объяснением и примером, если вы хотите его проверить. –