Loader
を使用して、フルスクリーンコンポーネントをSymbian/QMLプロジェクトの変更画面に読み込もうとしています。これはそれを行う正しい方法のように感じていないので、私はおそらく明らかに何かが不足しています。Symbian/QMLアプリケーションでの画面間の受け渡し
私が使用する例は、フルスクリーンのWebView(a.k.a ChildBrowser)を開く必要がある1つの画面上のボタンです。 ChildBrowserを再利用可能なコンポーネントにしたいので、URLを渡す必要があります。私はJavascriptがpragma library
でファイルを構築しようとした
:
.pragma library
var map = {};
function put(key, value) {
map[key] = value;
}
function get(key) {
return map[key];
}
より良いタイトルの希望のために、私たちはこれを呼び出します。
ボタンを押し、画面:
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でコントローラとモデルを構築することに興味があります。
これは初心者の質問であると確信しています。そのため、関連するドキュメントへのリンクが必要なのでしょう。しかし、は容疑者ではないです。
ローダーは依然としてコールサイトにボイラープレートを持っていなければなりません。それにもかかわらず、これは私にいくつかのアイデアを与えます。ありがとう。 – jamesh
ロードされたqmlファイルがネットワーク経由でアクセスされないことがわかっている場合は、ここでショートカットをとることができます。 qmlファイルがローカルファイルシステムまたはリソースファイルから取得された場合、ローダーソースの設定は同期します。この前提で、プロパティをローダ、onLoadedハンドラ、else ifに保存できます。 – eburger