按钮点击回调
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再提供一些您的代码,以便我能更清楚地理解它。
我的 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再提供一些您的代码,以便我能更清楚地理解它。