javascript - Nativescript - 从导入的函数更新 viewModel
问题描述
我正在尝试在 NS8 应用程序中创建一个通用函数文件。其中一项功能必须执行一些 http 请求,然后更新 viewModel 以显示加载的数据。当函数放在单独的文件中时,我无法实现这一点。这基本上就是我现在所拥有的。
main.js
import { ApplicationSettings, Http, fromObject } from '@nativescript/core';
import * as commFunc from '../functions.js';
var page,
viewMode = new fromObject({
foo: 'bar'
});
export function onLoaded(args){
page = args.object;
page.bindingContext = viewModel;
commFunc.getPosition();
}
函数.js
import { ApplicationSettings, Http, Observable } from '@nativescript/core';
var viewModel = new Observable();
export function getPosition(){
// beep boop bap calculating
viewModel.foo = 'baz';
}
我也尝试将其viewModel
作为参数传递,但这也不起作用。
解决方案
可能最干净的方法是让 getPosition 返回一个值,然后调用者将该值分配给 viewModel,例如
viewModel.set("foo",commFunc.getPosition());
也就是说,我有将 viewModel 作为参数传递的函数。不过,您需要删除 function.js 中的本地声明。
推荐阅读
- android - 为什么使用 Camera2 API 时前置摄像头打不开?
- flutter - Flutter 应用程序仅接收到特定令牌的 FCM 消息
- azure - Remove-AzSqlDatabaseDataMaskingRule 忽略表和列名称
- microsoft-graph-api - MS Graph 获取报告失败
- java - 如何在同一个bolt中处理不同的元组(Storm)
- c++ - 为什么此代码片段适用于 C++17,而编译器在使用 C++11 时会报错?
- java - 在 SpringBoot 中加入表时“找不到列”
- arrays - fprintf 一个整数数组
- javascript - 尝试用javascript制作音频分析仪
- java - kotlin 改造我如何从这个 url 获取 json?