私はバックボーンに不慣れで、いくつかのチュートリアルアプリを通過した後、最初のアプリを試しています.
次のことを達成するための最良の方法は何だろうと思っていました
バックエンド(レール)
私はビジネスというモデル名を持っています。これは多くの属性を持つ複雑なモデルです。関連付けられたアドレス ( has_one :address
) があり、アバターと別のプロファイル画像などがあります。
私のフロントエンドから、ビジネス プロファイルの特定の部分を取得して更新できるようにしたいと考えています。たとえば、名前、カテゴリ、住所を含む basic_info だけを取得したいのであれば、プロファイル画像とアバターを更新できるようにしたいと考えています。
私がバックボーンで見たのは、モデルにメソッド save、update、fetch、destroy があることです。
fetch_basic_info
、fetch_profile_picture
、のような他のメソッドが必要な場合はどうすればよいupdate_profile_picture
ですか? これらに対して、関連するビューにそれに応じて通知する必要があります。
これが私が思いついたものです
基本情報を取得したいとしましょう
fetch_basci_info
バックボーン モデルに機能を追加する$.ajax
この関数内で、サーバーを使用してカスタム ajax リクエストを送信します- 手動でイベントをトリガーする
"basicinfo:fetched"
ルーター機能の内部
- モデル オブジェクトの作成
- 新しいビューを作成し、
BasicInfoView
それをモデル オブジェクトに渡します。 - ビューバインド内で、モデルのイベントを言うことができます
model.bind('basicinfo:fetched', this.render)
- ルーターが初期化
model.fetch_basic_info
されたとき (ルーター init 内)
そのため、ルーターが呼び出され、ビューが作成され、カスタム イベントがバインドmodel.fetch_basic_info()
され、要求がサーバーに送信されて応答が返されます (ここでバックボーン モデルの属性を設定するには、set を手動で呼び出しますか)。その後、カスタムイベントイベントがトリガーされ、ビューに通知され、それ自体がレンダリングされます
これは私の最初の本格的なバックボーン アプリケーションです。
これについてどう思いますか。
読んでいただきありがとうございます。