問題タブ [ember-controllers]

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.

0 投票する
1 に答える
335 参照

ember.js - Ember.js のコントローラーをクリーンアップする

適切なルートを終了すると、コントローラーはどうなるでしょうか? そこに設置されたオブザーバーが仕事を続けているというのは正しいですか?もしそうなら、それを避けるための適切な方法は何ですか? setupController と反対の方法はありますか?

0 投票する
0 に答える
231 参照

view - EmberJS: 基になるコンテンツを変更せずに子ビューをコレクション ビューにプログラムで追加する

現在、私の EmberJS アプリは私をとても混乱させています。コレクション ビューがあり、コードで定義したカスタム ビューの itemViewClass を定義します。何かのようなもの:

そして、この CarouselView は、それを支える動的セグメントを持つテンプレート内でレンダリングされます (これが理にかなっていると思いますか?) 。これらの動的セグメントのモデルはコレクションであるため、これらの動的セグメントのコントローラーは配列コントローラーです:)(さらに混乱します。お知らせください)

ここまでで、私が基本的にカルーセル内に多数のスライドをレンダリングしていることを理解していただけたと思います。そして、これらは、プロパティを設定することにより、collectionView で動的にサポートされます。

混乱は今始まる。既存のスライド セットにスライドを追加したい。だから私はアクションを持つボタンを提供します: 'add' target='view'

SlidesView では、

上記のコードはひどいもので、私をひどく傷つけます。基本的に、ボタン トリガー時にプログラムで CarouselView コレクションに新しい SlideView を追加したいと考えています。しかしどうやら Ember は、childView を直接操作するべきではなく、代わりに基になるコンテンツを変更することを推奨しているようです。私のconsole.logには、childViewsの操作は非推奨であるなどと記載されています。

つまり、本質的に、コンテンツに何かを追加して SlidesController コンテンツに追加する必要がありますか? ただし、コンテンツに何かを追加したくはありません。これは、必要に応じて編集または追加を選択できるように、ユーザーにスライドを提供する単なるソフト追加です。彼はいつでもそれを捨てることができます。ユーザーがこの情報を保存することを決定すると、新しいスライドを DB に保持する必要があるハード アドが発生します。

0 投票する
1 に答える
747 参照

ember.js - 小計emberjsを計算する

ショップカートを作ります。固定アダプターを使用しています。私のモデル

ルート

そして私のコントローラー

合計金額を計算するにはどうすればよいですか?

0 投票する
2 に答える
51 参照

view - EmberJS で DOM 操作とコントローラー関連のタスクを必要とするアクションを呼び出す美的または正しい方法

私の EmberJS アプリには、ビュー/DOM の操作とコントローラーでの状態の設定、それに続くモデルの更新を必要とする (ボタンによってトリガーされる) いくつかのアクションがあります。私がこれを行う方法は、私のプログラミングの美学に訴えるものではありません。仕事は完了しますが、見栄えがよくありません:(

ここに私が物事を行う方法の要点があります:

当然のことながら、ビューで実行しているコントローラー関連のステップをコントローラー メソッドでラップし、ビューを介してそのメソッドを呼び出すことができますが、IMO も同じように見苦しくなります。ビューは、実際に私が行ったようにコントローラーメソッドを呼び出すべきではありません。残念ながら、この特定のアクションには、DOM 操作と、コントローラーでの状態の設定とアクションの実行が必要です。

これを実行するための推奨される方法が何であるかはわかりません。誰でも啓発できますか?

0 投票する
2 に答える
290 参照

ember.js - Where I should run business logic on transitionTo in Ember.js

I have two separate views:

  1. List of posts
  2. List of comments connected with particular post

When I click on particular post in #1 view I'm displaying #2 view using simple transitionTo('comments', post). What I want to do is to mark all comments connected with the post as read when they are displayed. Let's say I want to run method: markAllAsRead(comment). Where I should put this business logic?

The ideal would be to add some hook to controller on loading. Can't find anything like this, init method is called only on first load of #2 view.

I can also run this in router in setupController

But it router doesn't seems to be designed to keep such logic.

0 投票する
1 に答える
1162 参照

ember.js - Ember.js でコンポーネントを見つけてそのプロパティを変更する

モデルにあるすべてのレコードのコンポーネントを作成するテンプレートがあります。コンポーネントを見つけて、他のテンプレートからのイベントに基づいて実行時にそのプロパティの 1 つを更新したいと考えています。DOM に挿入された特定のコンポーネントを見つける方法。{{#each}} {{私の名前}} {{/each}}

このコードは、画面に名前を表示します。これで、change という別のテンプレートができました。

0 投票する
3 に答える
10830 参照

ember.js - 別のコントローラ Ember でコントローラ メソッドを呼び出す

Ember の Need Api を使用して、コントローラーのメソッドを別のコントローラーで呼び出しています。コントローラーのインスタンスを取得できますが、メソッドを呼び出すと、このエラーが返されます TypeError: Object [object Object] has no method.

これが私がそれを呼んでいる方法です:

これは、関数を呼び出したいコントローラーです

どうすれば解決できますか?