Ajaxを介してウィジェットを同期するデフォルトの方法はありません。データを更新する方法がデフォルトで付属している唯一のウィジェットは、DataTableウィジェットです。残りの部分、およびDataTableの属性についても、自分で行う必要があります。
ただし、データとウィジェットが十分に複雑な場合は、YUIAppFrameworkの使用を検討する必要があります。モデルとビューの組み合わせは、ウィジェットを使用して複雑なレイアウトを作成するのに大いに役立ちます。モデルは、特にRESTful APIエンドポイントを使用している場合に、属性をJSONバックエンドに簡単にリンクする方法を提供します。また、Viewは、マークアップを設定し、イベントに反応するためのツールを提供します。
モデルload
とchange
イベントは、データが更新されたときに通知します。したがって、ビューでは、これらのイベントに反応して、ウィジェットに対応する属性を設定できます。
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
、ウィジェットプラグインと組み合わせて使用することもできます。これは多くの正解がある質問です。