问题:
我无法将函数成功传递给降级的Angular 2组件。我已经尝试了几乎所有我认为可以传递的方法,但我只能通过字符串插值传递字符串 - >一些属性= {{controller.property}}。以下是我尝试过的一些事情(是的,我知道其中一些没有意义......)
some-function="controller.function";
some-function="{{controller.function}}"; //<-- works for data, not functions
[some-function]="{{controller.function}}";
[someFunction]="controller.function";
[(someFunction)]="controller.function";
设定:
这是我现有的设置,它适用于数据但不适用于功能:
Angular 1用法
<my-component data-input-name="{{controller.name}}"></my-component>
升级/降级适配器
angular.module('myModule').directive('myComponent',
downgradeComponent({
component: MyComponent,
inputs: ['inputName']
}) as angular.IDirectiveFactory);
Angular 2定义
@Component({
selector: 'my-component',
templateUrl: './my.component.html',
styleUrls: ['./my.component.css']
})
export class MyComponent implements OnInit {
@Input() inputName: any;
constructor() {}
}
Angular docs甚至会显示如何设置它,但它们没有提供实际使用的任何示例。 我是否遗漏了某些东西,或者这不能做到?
答案 0 :(得分:1)
使用像这样的AngularJS kebab案例,似乎对我有用:
<my-component [data-input-name]="controller.name">
</my-component>