0

序文: 私はバックボーン初心者です。以下に示すものの多くは、おぞましいコードかもしれません。

だからここに私が持っているものがあります: モバイル ワークアウト アプリ トラッカーを構築しています。ビューの切り替えの一部を処理するためにジュニアフレームワークを使用しています-これは私の問題かもしれませんが、疑わしいです。

このアプリには と の 2 つのモデルがapp.Workoutありapp.Exerciseます。両方ともデータベース バックエンドに関連付けられていません。この時点では localStorage を使用しているだけです。これらのモデルには、ala の 2 つのコレクションもあります。

var app = app || {};

(function() {
  'use strict';

  /* collection */
  app.ExercisesCollection = Backbone.Collection.extend({
    model: app.Exercise,
    localStorage: new Backbone.LocalStorage("Exercises")
  });

  /* create the collection */
  app.Exercises = new app.ExercisesCollection();

})();

これでコレクションが完成しました。

ご存知のように、ワークアウトがあります。これらのワークアウトには、関連するエクササイズが含まれています。2 つのモデルとコレクションを分離することにしました。そうしないと複雑になりすぎる可能性があるためです。たぶん私は間違っています?

私のビュー構造もかなり基本的です。フローは次のようになります。

Home -> 
  Workouts -> 
    (you can add workouts here, or delete)
    Exercises -> 
     (you can add exercises here, or delete)
     Add Exercise

私が苦労しているのは、これらのビュー間でデータを渡す方法です。たとえば、ワークアウトを追加しました (これは正常に動作します。コレクションに追加しているだけです)。そのワークアウトを選択したので、それにエクササイズを追加したいと思います。素晴らしいAddExerciseViewです。

オプションでいくつかのことを「渡す」ことを試みましたが、うまくいかないようです。

onClickButtonAdd: function() {
  Jr.Navigator.navigate('add-exercise', {
    workoutName: this.workoutName,
    trigger: true,
    animation: {
      type: Jr.Navigator.animations.SLIDE_STACK,
      direction: Jr.Navigator.directions.UP
    }
  });
}

ワークアウト名を渡そうとしていますが、うまくいきません。

私はこの権利について考えていますか、それともビュー/モデルを管理するためのより良い方法がありますか (マリオネットについて聞いたことがあります)。

ありがとう!

4

1 に答える 1