問題タブ [ember-components]

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 投票する
3 に答える
662 参照

ember.js - ember.jsで親プロパティをオーバーライドするには? (具体的には数値入力の挙動)

Ember Input を数値入力として拡張する新しいコンポーネントを作成したいと考えています。このクラスのユーザーが自分の値をnumber-input-component のvalueプロパティにバインドする場合、数値 (または無効な値の場合は NaN) のみを取得する必要があります。Ember Input では、value に属性バインディングがあります。

次のように、 number-input-componentで「value」という名前の計算されたプロパティを定義しました。

期待どおりに機能しますが、双方向バインディングでは機能しません。(実際には DDAU では問題ありません。ただし、双方向バインディングでは機能するはずです。)

:ユーザーが自分の値を「numericValue」にバインドできるように、「numericValue」(ここに表示) などの別のプロパティを提供できることはわかっています。しかし、ユーザーをvaluenumericValueの両方で混同したくありません。

アップデート:

フィールドへの入力中は、タイプミスによって値がリセットされません。たとえば、ユーザーが「123456789」を書き込もうとして誤って「12345678p」を押しても、入力がリセットされることはありません。値が無効な場合、エラー メッセージを表示したり、値をリセットしたりすることは、コンポーネントの責任ではありません。

あなたが見ることができるフィドルがあります:Ember-Twiddle

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

ember.js - Emberjs - 保存後にコンポーネントのフィールドをリセットする方法は?

ゲーム内に Comment という埋め込みオブジェクトがあります。各ゲームには多くのコメントを付けることができます。

ユーザー (親と呼ばれる) がゲーム ページを表示すると、コメントを残すことができます。

私が抱えている問題は、コメントが保存された後、コメント フィールドの本文を空に戻すことができないように見えることです。

これはコンポーネントです:

エラーは 'this.set' 行にあります - this.set は関数ではありません

私が見つけたすべての例は、コントローラーでこれを行うか、ルートの変更時に新しいレコードを作成することに関するものです (ただし、既存のページに別の埋め込みオブジェクトを追加するだけなので、私の例ではルートは変更されません)。

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

ember.js - コンポーネントでコントローラーが監視するプロパティを渡す方法

コントローラーで監視されているプロパティをコンポーネントに渡すアプリケーションで作業していますが、未定義の値を取得しています。私はember 1.6を使用しています

コンポーネントの呼び出し方法:-

コンポーネントの実装は:-

}))

コンポーネント値として使用されるcurrentValは、コントローラーで監視されるプロパティです。スライダーをスライドするたびに、currentVal がコンポーネントにバインドされているため変更されます。デフォルト値は 50 です。コントローラーは正常に動作しています。

コントローラー部分は次のとおりです。

コンポーネントでは、最小値を正しく取得していますが、を取得していません。それは未定義になっています。

コンポーネントでプロパティを取得するには?

アップデート

コンポーネントで次のメソッドを使用して変数を取得できます:-
1) 変数を静的な値でコンポーネントに直接渡すと、機能します。たとえば、range-slider コンポーネントで渡される最大値。
2)コントローラーで定義されている静的変数を渡す場合、たとえばコントローラーで

コンポーネントにダミー値を渡せば、コンポーネント部分で読めるようになります。

しかし、プロパティが計算されたプロパティである場合、それは機能しません。

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

jquery - ember 統合テストでコンポーネントに焦点を当てる/ぼかす方法は?

Ember.js コンポーネントのテスト中にフォーカス イベントとブラー イベントをトリガーするにはどうすればよいですか?

this.$().focus();またはthis.$('input').focus();動作しているように見えますが、phantomjs と chrome では動作が異なります。

またthis.$().blur();this.$().focusout();phantomjs と chrome の両方が動作していないようです。

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

css - CSS ファイルを Ember.js のどこに配置しますか?

アプリケーションにはいくつかのカスタム スタイル定義があります。現在、すべての開発者が にスタイルを追加していapp.cssます。しかし、私たちはそれを巨大なファイルにしたくありません。また、スタイル クラスを台無しにしたくありません。

カスタム スタイルをアプリケーションに配置するにはどうすればよいでしょうか。それを行うためのベストプラクティスはありますか? (すべてのガイド/ドキュメントの参照は大歓迎です。)

2 つ目の質問: 特定のルートまたはコンポーネントのスタイルを配置する場所はありますか?

更新:より具体的には、次のスタイルを特定のルートまたはコンポーネントのみに適用したいと考えています。

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

ember.js - 初期化時に値を割り当てた後、emberjsの双方向バインディングが一時的に壊れる

initライフサイクル フックでコンポーネントの 1 つにデフォルト値を割り当てようとしています。親コンポーネントから未定義の値が渡された場合。最初は、すべてが期待どおりに機能しているように見えます。ただし、コンポーネントが再レンダリングを強制された場合 (おそらく親コンポーネントでの別のプロパティ値の更新を介して); 親コンポーネントの未定義の値がコンポーネントに書き戻されます。

これの意味は; 初期化時に行った値の割り当てが親コンポーネントに反映されていない、つまり双方向バインディングが一時的に機能していません (親コンポーネントと子コンポーネントの値が同期されていません)。それは予想される動作ですか、それともsthがありませんか。初期化イベントについて重要ですか?コンポーネントの未定義の値を初期化する適切な場所はどこですか? 簡単なイラストについては、ひねりを参照してください。

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

ember.js - init でのプロパティの割り当てと didUpdateAttrs が異なるのはなぜですか?

Ember.js Guideには、次のような例があります。

errorsプロパティへの代入が と で異なるのはなぜinitですか didUpdateAttrs? それらの違いは何ですか?

@locksの回答に従って更新:

可観測性はいつ設定されますか? 初期化後?しかし、親コンポーネントの値は、init の前に子コンポーネントのプロパティに割り当てられていました。

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

ember.js - 別のコントローラーの残り火でアプリケーションコントローラーのプロパティをバインドする方法

ApplicationController に検索プロパティがあり、検索の入力フィールドにリンクされています。ProjectControllerでApplicationControllerの検索フィールドにアクセスしたい。同期する必要があります。次のコードを使用しますが、機能しません。

/ app/controllers/projects/index.js (プロジェクト コントローラー)

/ app/controllers/application.js (アプリケーション コントローラー)

アプリケーション.hbs

{{input value = search}}