0

私が何か間違ったことをしているという明確な可能性があるので、より良い方法がある場合に備えて、私が達成しようとしていることを説明したいと思います.

プラットフォーム: HTML5/WinJS のナビゲーション テンプレートを使用する Windows 8 アプリ。

データを照会し、d3.js を使用して結果セットを視覚化する PageControls がいくつかあります。

WinJS.UI.ListView を使用してそれらのページ/グラフへのリンクを提供する別の PageControl(dashboard) があります。現在、ListView でいくつかの静的画像を使用しています。私がやろうとしているのは、グラフ ページにアクセスして、選択画面に「小さい」バージョンのグラフを表示することです。

私が試したことのいくつか: - プログラムでスクリーン ショットを作成する方法がわかりませんでした (共有コントラクトを使用してグラフを共有するときに同じ手法を使用できるため、これが最適なオプションです)。- Page.render を実行しようとしましたが、html ページ内のどこかで draw() 関数を呼び出している場合にのみ機能するようです。つまり、ready() 関数が render の一部として呼び出されているようには見えません。そこで、描画コードを html に移動しました (これはあまり好きではありません)。問題なく動作するようです。私がやりたいのは、描画関数を Page.define に戻し、html の 1 行のスクリプトから呼び出すことです (より良い方法がない限り)。

一般的にタスクを達成するためのより良い方法について、構文やアドバイスについての指針をいただければ幸いです。

4

1 に答える 1

0

アプリのどこからでも参照できる別の .js ファイルに描画コードを配置することをお勧めします。次のように設定します。

WinJS.Namespace.define('My.App.Namespace', {
    drawingFunction: function () {
        //code goes here
    }
});

それを drawing.js というファイルに保存し、default.html に含めます。My.App.Namespace.drawingFunction()その後、html または javascript から呼び出すことができます。

于 2013-04-16T20:43:29.280 に答える