在Dart Angular中,如何将函数传递给组件

odw*_*dwl 6 dart angular-dart

我有一个组件MyComp,我想将一个函数作为参数传递给它.更确切地说,我想做类似的事情:

飞镖组件文件:

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

   ....
   myfunc();
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<mycomp myfunc="ctrl.myfunc"></button-list>
Run Code Online (Sandbox Code Playgroud)

问题是myfunc在组件中为null.我错过了什么吗?我怎样才能做到这一点?

Oza*_*zan 7

使用'&'将函数绑定到字段:

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

   ....
   myfunc();
}
Run Code Online (Sandbox Code Playgroud)

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

  • 要传递参数,你需要在调用函数时传递`locals`范围:`myfunc({'param1':paramVal1,'param2':paramVal2});`和绑定时`<mycomp myfunc ='ctrl.myfunc (param1,param2)'>` (4认同)

Gün*_*uer 6

AngularDart中的首选方法是使用注释

@NgCallback('myfunc') Function myFunc;
Run Code Online (Sandbox Code Playgroud)