2017-01-09 2 views
3

Проблема:Pass функции от angular1 к понижены angular2 компонента

Я не могу получить функцию, чтобы успешно перейти к понижен Угловому 2 компоненту. Я пробовал практически все, что я могу представить, чтобы передать вещи, но я могу только получить строки, переданные через интерполяцию строк -> some-attribute = {{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"; 

Установка:

Вот моя существующая установка, которая работает для данных, но не для функций:

угловые 1 использование

<my-component data-input-name="{{controller.name}}"></my-component> 

Upgrade/Понизить адаптер

angular.module('myModule').directive('myComponent', 
    downgradeComponent({ 
     component: MyComponent, 
     inputs: ['inputName'] 
    }) as angular.IDirectiveFactory); 

Угловое 2 Определение

@Component({ 
    selector: 'my-component', 
    templateUrl: './my.component.html', 
    styleUrls: ['./my.component.css'] 
}) 
export class MyComponent implements OnInit { 

    @Input() inputName: any; 

    constructor() {} 
} 

Angular docs даже показать, как установить его, но они не дают каких-либо примеров фактического использования. Я что-то упустил или это просто не может быть сделано?

ответ

1

Используйте AngularJS кебаб дело, как это, кажется, работает для меня:

<my-component [data-input-name]="controller.name"> 
</my-component> 
+0

Это сделал трюк для меня. – Haymaker87

Смежные вопросы