問題タブ [computed-properties]

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

swift - Swiftの遅延変数は複数回計算されますか?

Swiftの遅延変数は複数回計算されますか? 私は彼らが次のものを置き換えたという印象を受けました:

Objective-C のパラダイム (遅延インスタンス化)。

それが彼らの仕事ですか?基本的に、アプリが最初に変数を要求したときに一度だけ呼び出され、計算されたものを返すだけですか?

それとも、通常の計算されたプロパティのように毎回呼び出されますか?

私が尋ねる理由は、基本的に、他のインスタンス変数にアクセスできる Swift の計算されたプロパティが必要だからです。「fullName」という変数があり、それが単に連結されfirstNamelastName. Swiftでそれを行うにはどうすればよいですか? 通常の計算された変数(非遅延)では他のインスタンス変数にアクセスできないため、遅延変数が唯一の方法であるようです。

だから基本的に:

Swiftの遅延変数は複数回呼び出されますか? その場合、インスタンス変数にアクセスできる計算変数を作成するにはどうすればよいですか? そうでない場合、パフォーマンス上の理由から変数を 1 回だけ計算したい場合は、どうすればよいですか?

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

javascript - Ember.Object の複数のプロパティまたは単一のオブザーバー

同じプロパティに依存する一連のプロパティがある場合、それらを定義する最良の (保守可能、最速など) 方法は何ですか? 私はいくつか考えることができます:

A. それぞれのプロパティ:

B. 一度にすべての小道具を設定するオブザーバー:

C. ストレートアップの計算された小道具:

(C) 間違いなく最も洗練されているように見えますが、1 つのオブザーバーに対して 3 つの計算されたプロパティを使用する場合に何らかのペナルティがあるのではないかと考えています。そして、(C) は基本的に A の省略形ですか? そこに違いはありますか?

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

ember.js - firstObject が削除されたときに Ember 計算プロパティがビューを更新しない

プロジェクト コメントのリストがあり、テンプレートには最新のコメントが表示され、すべてのコメントを表示するモーダルを表示するボタンが表示されます。そのモーダルでは、コメントを個別に削除できます。これは機能し、それに応じてモーダルが更新されます。最後のレコードを削除するまで、テンプレートも更新されます。

これが私の最初のプロパティの宣言です。

コントローラーにクエリを実行し、firstObject が未定義であることを確認しましたが、計算されたプロパティはまだその値を保持していました。

計算されたプロパティを @each コメントを監視するように変更すると、次のようになります。

その後、ビュー更新されますが、コンソールは醜いエラーを吐き出します:

最後のレコードが削除されたときにビューを更新するにはどうすればよいですか? または、このエラーを無視する必要がありますか?

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

polymer - 「計算されたプロパティ」を手動で再計算する

カスタム要素がある場合

ポリマーを変更nameすると自動的に再計算されますが、変更せずmessageに再計算する方法はありますか?messagename

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

javascript - Ember.JS - 計算されたプロパティに基づいて filterBy またはフィルター処理できません

filterBy と条件 "isRoot" == true を使用して、hasMany-Array async-get の結果をフィルタリングしようとしています。「isRoot」プロパティは計算されたプロパティであり、ember の filterBy 関数は promise が解決されるのを待たないようです。ここに私のコード:

ディレクトリのモデル

ユーザー向けモデル

ディレクトリをフィルタリングするために使用しているステートメント:

私の問題の解決策を知っている人はいますか? 事前にt​​hx!

アップデート

現在の問題を示す JSBIN を作成しました。ここに私の例へのリンクJSBINリンクがあります

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

javascript - 配列内の存在へのAngularバインディング、またはパフォーマンスの計算されたプロパティ

問題

角度のあるビューを配列内の特定のアイテムの存在にバインドするためのきちんとした効率的な方法があるかどうか疑問に思っています。基本的に、1 つのページに 2 つのコントローラーがあります。コントローラー A は、サービスによって挿入された配列内の項目を削除または追加できます。コントローラー A から削除または追加を行うときに、同じサービスが注入されたコントローラー B のビューを更新する必要があります。

ロブスターの問題

ロブスターの出会い系サイトを作成しているとします。2 つのビューを並べて表示します。

  • 最もホットなロブスター ビューには、海で最もホットなロブスターのリストが表示されます。これらのロブスターのいずれかがあなたの友達である場合、そのリスト項目が強調表示され、あなたが友達であることを示すメッセージが表示されます.

  • ロブスター フレンド ビューは、最もホットなロブスター ビューと同じページにあります。ロブスター フレンド ビューからロブスターをフレンド解除すると (つまり、lobsterFriend配列からロブスターを削除する)、それに応じて最もホットなロブスター ビューが更新され、フレンド解除されたロブスターの強調表示が停止します。

多数のロブスターで機能するソリューションが必要です。

セットアップ

免責事項: この質問のコードは、説明のみを目的としています。ロブスターの出会い系サイトを実際に作成しているわけではありません。

2 つのコントローラーに挿入する角度付きサービスがあります。サービスはオブジェクトの配列を返します。

lobsterFriendService、ロブスター フレンドを管理するためのサービス:


LobsterFriendsCtrl、注入されたフレンドリストのコントローラーlobsterFriendService:


HottestLobsterCtrl、最もホットなロブスター ページのコントローラー:


hottestLobsters.htmlにバインドされたビューHottestLobsterCtrl:

可能な解決策

  1. lobsterFriendsアレイにウォッチを設定します。更新すると、HottestLobsterCtrlコントローラーのプロパティを更新したり、ダイジェストをトリガーしたりできます。これはかなりコストがかかると思います。
  2. ロブスターが友達になったり、友達から外れたりするたびに、イベントを発生させます。これは、実際のオブジェクトを使用してサービスを既に挿入しているため、可能であればダウンすることを避けたいパスです。
  3. 計算されたプロパティを適切に処理するヘルパー ライブラリを使用します。
  4. ???? 助けてください?
0 投票する
1 に答える
937 参照

ember.js - ember のモデル内の各アイテムの ArrayController のプロパティ

プロパティ「isChecked」(ブール値プロパティ)を持つ配列コントローラーがあります。私のコントローラーでは、「チェックされた」(つまり選択された)要素のコレクションを取得したいと考えています。モデル内のコントローラーのプロパティにアクセスする方法がわかりません。

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

次のように、「isChecked」プロパティを各ヘルパー内のチェックボックスにリンクしました。

モデル内のすべての項目を、関連付けられたチェックボックスとともに表示します。ユーザーはそこからいくつかの項目を選択できます。だから私はそれらのアイテムが欲しいです。

ここに画像の説明を入力

ここで、「チェック済み」の要素のリストを取得したいと思います。計算されたプロパティとして、または任意のアクションの下で。

ありがとうございました。

0 投票する
12 に答える
212167 参照

javascript - 動的キー名を持つReactjs setState()?

編集:これは重複しています。ここを参照してください

状態を設定するときに動的キー名を使用する例が見つかりません。これは私がやりたいことです:

event.target.id は、更新する状態キーとして使用されます。これはReactでは不可能ですか?

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

swift - Swift のゲッターとセッター

以下の特定のケースで Swift でセッターを使用する必要があるのはなぜですか。

「display.text」Stringをに変換しようとしていDoubleます。getter が value を戻しString、それを variable に変換しDouble、この値を variable に割り当てることを理解していますnewValue

質問:に変換したばかりなのに、display.text 値をString再度使用して設定し直すのはなぜですか?= "\(newValue)"Double