Как подключить событие Tap кнопки к обработчику событий в NativeScript? - PullRequest
0 голосов
/ 01 февраля 2019

Мне тяжело прыгать, начиная с NativeScript.Я хорошо понимаю сторону пользовательского интерфейса с тегами типа XML для реализации элементов пользовательского интерфейса.Но я не уверен в синтаксисе того, как превратить мой пользовательский интерфейс в реальную функциональную программу из кода.

Например, если в моем приложении есть следующая кнопка, я не уверен всинтаксис для подключения обработчика события для события Tap:

<Page loaded="pageLoaded" class="page" xmlns="http://www.nativescript.org/tns.xsd">

<ActionBar title="Home" class="action-bar">
</ActionBar>

<TabView>
    <TabViewItem title="Tab 1">
        <StackLayout>
            <Button id="btn_Woohoo" text="Button WooHoo" tap="btn_woohoo_tap" />
        </StackLayout>
    </TabViewItem>
    <TabViewItem title="Tab 2">

    </TabViewItem>
</TabView>

Я видел несколько различных синтаксических реализаций, таких как:

1) tap="methodName"
2) tap="{{ methodName }}"
3) {tap}="methodName"
4) {tap}="{{ methodName }}"
5) tap="methodName()"

Ни один изэти реализации объясняются там, где я их видел, и они не работают, когда я их пробую.

В приведенном ниже коде я пробовал несколько различных синтаксических способов написания метода обработчика событий, но ни один из них, похоже, не помогработать для меня либо.

Вот моя текущая реализация:

export function btn_woohoo_tap(args: EventData) {
    //alert("Woohoo!");
    //btn_Woohoo.text
    //let woohooButton = this.getViewById('btn_Woohoo');
    //woohooButton.text = "test";
}

1 Ответ

0 голосов
/ 01 февраля 2019

Это должно работать, если у вас все еще есть проблемы, пожалуйста, поделитесь примером Playground, где проблема может быть воспроизведена.

XML

<Button id="btn_Woohoo" text="Button WooHoo" tap="btn_woohoo_tap" />

TS

export function btn_woohoo_tap(args: EventData) {

}

Другой возможный синтаксис - tap="{{ btn_woohoo_tap }}", что означает, что функция привязывается из ViewModel, а не из кода за файлом. Здесь вы найдете соответствующие документы .Я не думаю, что остальные синтаксисы в вашем вопросе верны.

...