按钮点击回调

Button tap callback

我的 xml 文件中有类似的内容

<Button id="info-button" text="Test" tap="{{ onInfoTap }}" />

点击时我想在我的上下文对象中调用一个方法。

我收到以下编译时警告:

JS:绑定:属性:'onInfoTap' 无效或不存在。来源属性:'onInfoTap'

这只是一个单向回调 - 不是 属性。如果我删除了双花括号,那么我就不会在我的上下文对象中得到回调。

求助!

您使用的是 MVVM 结构吗?如果是这样,您可以在模型页面上为调用 ViewModel 中的函数的按钮定义一个点击侦听器:

在XML中:

<Button tap="onInfoTap" />

.js 文件中:

export function onInfoTap(args) {
    // Just for example, pageViewModel is the page binding context object
    pageViewModel.yourFunction();
}

在视图模型中:

class PageViewModel extends Observable {
    public yourFunction() {
        // Code here
    }
}

这是我过去常做的事情。如果你不想去掉花括号,我建议这样做:

class PageViewModel extends Observable {
    public yourFunction() {
        // Code here
    }
    this.set("onInfoTap", yourFunction);
}

如果这些对您没有帮助,能否请您post再提供一些您的代码,以便我能更清楚地理解它。