В Dart Angular, как передать функции компоненту

у меня есть компонент MyComp и я хотел бы передать функцию как параметр. Точнее я хотел бы сделать что-то вроде этого:

файл компонента dart:

 @NgComponent(
        selector: 'mycomp',
        publishAs: 'ctrl',
        map: const {
          'myfunc' :'=> myfunc'
        }
    )
class MyComponent {
   Function myfunc;

   ....
   myfunc();
}

HTML-код:

<mycomp myfunc="ctrl.myfunc"></button-list>

проблема в том, что myfunc имеет значение null в компоненте. Я что-то пропустил? Как я могу это сделать?

2 ответов


используйте '&' для привязки функции к полю:

@NgComponent(
    selector: 'mycomp',
    publishAs: 'ctrl',
    map: const {
      'myfunc' :'&myfunc'
    }
)
class MyComponent {
    Function myfunc;

   ....
   myfunc();
}

http://ci.angularjs.org/view/Dart/job/angular.dart-master/javadoc/angular.core/NgComponent.html#map


предпочтительным способом в AngularDart является использование аннотаций

@NgCallback('myfunc') Function myFunc;