問題タブ [ember.js-2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Ember.js 2.3 では、hasMany 非同期呼び出しを複数ではなく、1 つの呼び出しにコンパイルするにはどうすればよいですか?
私は ember-cli と ember 2.3 にアップグレードしています。User と呼ばれるモデルと Post と呼ばれるモデル、そしてユーザーがあるとします...
これで、データを遅延読み込みし、.js またはテンプレートで必要な場合を除き、投稿を読み込まずに、期待どおりに動作します。だから私がするとき
各投稿で問題なくタイトルをレンダリングできます。ただし、サーバー ログには次のように表示されます。
数字は投稿IDです。サーバーからユーザー インスタンスを返すときに、ID のリストをパラメーター 'posts' として返すため、これは当然のことです。したがって、ユーザーインスタンスには次のものがあります。
そのデータで。
さて、私の質問は次のとおりです。以前、ember-data 1.0 (ember-cli および ember 1.13 より前) を使用していたとき、同じユースケースの代わりにデータベースに対してこの呼び出しが行われたことを覚えています。
またはその線に沿った何か。正確な形式は思い出せませんが、次のコード行を使用して、サーバー側の ID のリストにアクセスできました。
これにより、IDのコンマ区切りリスト(文字列形式)が得られました。次に、これをSQLステートメントに変換します
この SQL 呼び出しは、Ember 側では manyArray として解釈され、Ember Array が期待するように簡単に動作したと思います。
これを再び発生させるにはどうすればよいですか?私は何かが欠けていると確信しており、ember データを「ハック」する必要はありません。「投稿」ごとにデータベースへの個別の呼び出しを行うのではなく、これらの呼び出しを 1 つに圧縮したいと考えています。
また、これらの呼び出しに対して {async:false} を作成するつもりはないことにも言及する必要があります。
ember.js - Ember.js 2.3はHasMany関係に@each.propertyオブザーバーを実装しますか?
hasMany リレーションシップ Procedure => hasMany Steps と async:true があり、(プロシージャ ルート上に) procedure-main と呼ばれるプロシージャ コンポーネントがあり、次のようにステップがリストされているとします。
いずれかのステップで stepStatus が変更されたときに、各ステップ (たとえば、stepStatus) のプロパティを観察する必要があります。Ember 1.7 では、プロシージャ コントローラに次のようなものがありました。
これは、ステップのいずれかで stepStatus が変更されたときに発生し、ステータスが変更されるたびに、この関数に含まれていたものはすべて発生しました。しかし、Ember 2.3 ではこれを実装できません。私は試してみました
ただし、これはステップがページにリストされているときに一度だけ起動します。あるステップのステータスを新しい値に変更すると、関数が起動されません。
Ember 2.3 でこの機能を再現するにはどうすればよいですか?
注: 私の使用例では、ステップで stepStatus プロパティが変更された場合に自動的に起動する必要があるため、ボタンのクリック時にオブザーバー内の関数を手動でオフにすることに頼ることはできません。
ember.js - ember アダプターの URL - ID パターンで検索 - ネストされた API リソース
特定の URL 構造を持つ API があります。アダプターなどを使用して ID を URL 文字列に渡すにはどうすればよいですか? モデルは 1 つしかありませpatient
んが、これらの各アイテムに加えて、さらに多くのアイテムをクエリする必要があります。URL の末尾に ID を配置できる場所を見てきましたが、検索クエリに追加の文字列を作成する方法がわかりません。ありがとう!
得る:/api/v1/me/patients/{id}
得る:/api/v1/me/patients/{patient_id}/public_number
モデルには次のようなものがあります。
ember.js - Ember 2 でルート モデルにアクセスする方法
テンプレート内でルートのモデルにアクセスするのに問題があります。モデルは、ホーム コントローラーで定義されたアクションの一部として正常に作成されます。
モデルの uuid は URL に正しくシリアル化され、router.js 内の URL は次のようになります。
私のestimate
コントローラーは、プロジェクトの依存関係も正しく指定しています。
...そして、routes/estimate.js 内で次のようにモデルを定義します。
出力をログに記録すると、次のthis.store.findRecord('project', params.project_id)
ようになります。
ただし、推定ハンドルバー テンプレート内のプロジェクト モデルにアクセスしようとすると (を使用{{model.project.name}}
)、何も得られません (エラーも出力もありません)。
誰でもこれについて何か考えがありますか?
javascript - Ember チャートのデータの書式設定。
アプリにember-chartsを使用して、同じモデルから複数の異なるグラフを表示しています。Ember-charts は、特定の方法でフォーマットされたデータを受け取ります。以下のコードのようなオブジェクトの配列。
私は好みに合わせcomputed properties
てデータをフォーマットするために使用しています。
これは機能します。しかし、多くのチャートがあり、データをフォーマットする方法が非常に似ていることを考えると、重複するコードの量に不満があり、ember-charts のデータをフォーマットするより良い方法があるかどうか疑問に思っていました. 私は今、自分のモデルを生成するために
使用しています。ember-charts
Ember 2.4
ember-cli-mirage
コントローラ:
テンプレート:
ember.js - Ember 2 で特定の入力要素にフォーカスする方法
私は Ember 2 を学んでいて、簡単なインライン エディタを書こうとしています。私の問題は、入力要素のオートフォーカスです。コンポーネントのテンプレートは次のとおりです。
コントローラは次のとおりです。
パラメータをtrueautofocus="autofocus"
に設定すると、使用が機能します。isEditing
ただし、アンカー要素が表示されているときにユーザーがリンクをクリックしても、フォーカスは新しく表示された入力要素に移動しません。したがって、私の質問は次のとおりです。入力要素に焦点を当てる最良の方法は何ですか? 内部toggleEditor
では、ID で入力要素にアクセスする方法と、Ember を使用してそれをフォーカスする方法を教えてください。