1

私はWebプログラミング、そしてもちろんYUIに不慣れです。

オーバーレイ、チャート、ノードメヌナフを使ってみました。JSON形式で提供される動的データを使用してこれらのウィジェットを作成し、新しいデータが提供されるときにウィジェットを更新するオプションがあるかどうかを知りたいですか?

私たちの場合、すべてのプロパティはサーバーからJSONデータで取得され、そのデータを使用してメニューバー、グラフ、プロパティブラウザをレンダリングする必要があります。今、私はこの要件を進める方法を見つけていません。

ありがとう。

4

1 に答える 1

1

Ajaxを介してウィジェットを同期するデフォルトの方法はありません。データを更新する方法がデフォルトで付属している唯一のウィジェットは、DataTableウィジェットです。残りの部分、およびDataTableの属性についても、自分で行う必要があります。

ただし、データとウィジェットが十分に複雑な場合は、YUIAppFrameworkの使用を検討する必要があります。モデルとビューの組み合わせは、ウィジェットを使用して複雑なレイアウトを作成するのに大いに役立ちます。モデルは、特にRESTful APIエンドポイントを使用している場合に、属性をJSONバックエンドに簡単にリンクする方法を提供します。また、Viewは、マークアップを設定し、イベントに反応するためのツールを提供します。

モデルloadchangeイベントは、データが更新されたときに通知します。したがって、ビューでは、これらのイベントに反応して、ウィジェットに対応する属性を設定できます。

var MyView = Y.Base.create('myView', Y.View, [], {
  initializer: function () {
    this.get('model').on('change', this._updateWidgets, this);
  },
  _updateWidgets: function () {
    var model = this.get('model');
    this.someWidget.set('someAttr', mode.get('someAttr'));
  }
});

しかし、私が言ったように、これを行う正しい方法はありません。好きなテクニックを使うことができます。Appフレームワークは、アプリケーションを構造化するために使用できる基本的なコンポーネントのセットにすぎません。柔軟性を考慮して設計されているため、さまざまな使用方法に対応できます。他の方法では、IO直接使用することもDataSources、ウィジェットプラグインと組み合わせて使用​​することもできます。これは多くの正解がある質問です。

于 2013-02-20T15:11:55.693 に答える