我有一个对话框组件,它在提交时执行两个异步函数。我的目标是保持对话框打开并显示加载状态,直到两个功能完成。之后,我想关闭对话框。
我的提交函数在父组件中定义,如下所示:
async submit() {
await this.foo1();
await this.foo2();
}
Run Code Online (Sandbox Code Playgroud)
该函数作为 props 传递给对话框组件:
<app-dialog @submit="submit" />
Run Code Online (Sandbox Code Playgroud)
在我的对话框组件中,单击按钮后,我尝试执行以下操作:
async onClick() {
await this.$emit('submit');
this.closeDialog();
},
Run Code Online (Sandbox Code Playgroud)
但是,对话框会立即关闭,而不是等待执行提交。实现这一目标的最佳方法是什么?
我正在尝试读取绝对的DeviceOrientation事件值以创建HTML5罗盘移动Web应用程序。
如果使用此代码,则可以毫无问题地获取alpha,beta和gamma值:
window.addEventListener('deviceorientation', function(event) {
alpha = event.alpha;
beta = event.beta;
gamma = event.gamma;
});
Run Code Online (Sandbox Code Playgroud)
但是,这些值对我没有帮助,因为我需要获取绝对值才能找到North的确切位置等。我找到了这篇文章,其中解释了如何使用event的绝对值。
当我将代码更改为此:
window.addEventListener('deviceorientationabsolute', function(event) {
alpha = event.alpha;
beta = event.beta;
gamma = event.gamma;
var absolute = event.absolute;
});
Run Code Online (Sandbox Code Playgroud)
Alpha,Beta和Gamma值设置为null。这对我来说很奇怪,因为event.absolute值设置为true。据此,应该显示事件值。
任何人有或有任何类似的问题?任何帮助,将不胜感激; 另外,如果有HTML5 Compass App的一些实用示例,将其发布在此处会很有帮助。
先感谢您!