我正在尝试使用 aLoader
来加载全屏组件以更改 Symbian/QML 项目中的屏幕。这感觉不是正确的方法,所以我可能遗漏了一些明显的东西。
我将使用的示例是一个屏幕上的一个按钮,它应该打开一个全屏 WebView(又名 ChildBrowser)。我想让 ChildBrowser 成为可重用的组件,因此需要将 URL 传递给它。
我尝试使用以下内容构建 Javascript 文件pragma library
:
.pragma library
var map = {};
function put(key, value) {
map[key] = value;
}
function get(key) {
return map[key];
}
为了更好的标题,我们称之为intent.js
。
按住按钮的屏幕:
import "intent.js" as Intent
Button {
onButtonClicked: {
Intent.put("url", "http://example.com");
console.log("Going to " + Intent.get("url"));
}
}
稍后,在 中ChildBrowser.qml
,我正在导入“intent.js”,然后获取 Intent.get(“url”)。这是undefined
.
我的问题是:
- 是否使用
Loader
预期的方式在屏幕之间构建和转换? - 你如何在屏幕之间传递参数?
- 您如何在应用程序的整个生命周期内维护状态?我对用 Javascript 构建控制器和模型特别感兴趣。
我确定这些都是新手问题,因此可能只需要一组相关文档的链接;然而我怀疑不是。