Obecnie pracuję nad przeniesieniem projektu szkieletu do projektu Angular 2 (oczywiście z wieloma zmianami), a jedno z wymagań projektu wymaga, aby pewne metody były dostępne publicznie.Jak publicznie udostępnić metody kątowe 2?
Szybki przykład:
Komponent
@component({...})
class MyTest {
private text:string = '';
public setText(text:string) {
this.text = text;
}
}
Oczywiście, mógłbym <button (click)="setText('hello world')>Click me!</button>
, i chciałbym to zrobić również. Chciałbym jednak móc uzyskać do niego dostęp publicznie.
Ci się to
<button onclick="angular.MyTest.setText('Hello from outside angular!')"></click>
Albo ten
// in the js console
angular.MyTest.setText('Hello from outside angular!');
Tak czy inaczej, chciałbym metoda być publicznie wystawiony tak to można nazwać spoza kątowej 2 app.
To jest coś, co zrobiliśmy w kręgosłupie, ale myślę, że mój Google foo nie jest wystarczająco silny, aby znaleźć dobre rozwiązanie do tego przy użyciu kątowego.
Wolelibyśmy ujawnić tylko niektóre metody i mieć listę publicznych apisów, więc jeśli masz wskazówki, jak to zrobić, byłby to dodatkowy bonus. (Mam pomysły, ale inne są mile widziane.)
Możliwy duplikat [Angular2 - jak wywołać funkcję komponentu spoza aplikacji] (http://stackoverflow.com/questions/35296704/angular2-how-to-call-function-function-from-outside-the- app) –
@DaveKennedy zdajesz sobie sprawę, że to pytanie zostało wysłane wcześniej, prawda? – Jacques