問題タブ [dynamic-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.
c# - 既知のプロパティを持つオブジェクトからの値の割り当て
魔女と一緒にクラスを書いていると、従業員の電話で概要が作成されます。電話を子として含む情報フォーム Activesync オブジェクトを取得しています。
これが私の現在のコードです。子にnullが含まれていない場合に機能します。
これをもう少し堅牢にする方法があるかどうか疑問に思っていました。私は、ActiveSyncPhone のプロパティを動的に設定し、リストを使用してすべてのプロパティを設定することを検討していました。しかし、C# は厳密に型指定された言語であり、その側面に伴う型の安全性とパフォーマンスの利点を利用することを考えました。
if ステートメントですべての child.property の null をチェックするよりも良い方法があると思いますか? また、子プロパティを取得するためのより良い方法はありますか?
javascript - String.prototype で動的プロパティを定義するのは悪い習慣ですか?
私は最近、Javascript String プロトタイプで動的プロパティを定義するのは素晴らしい (/簡単/便利) ので、Ruby で動作するように文字列リテラルと変数を使用できるという考えに出くわしました。次の例を見てください。
このようにして、次のように文字列を使用できます。
そのための便利なアプリケーションがたくさんあることはすでに想像できますが、それについてはよくわかりません。それは機能しますが、それは悪い習慣であり、変なにおいがするのではないかと心配しています。
それについてどう思うか教えてください。
c++ - ブースト: read_graphml() でグラフ固有のプロパティにアクセス
Boost Graph ライブラリを使用して、yEd で作成された .graphml ファイルからグラフ関連の (カスタム) プロパティを読み取ろうとしています。頂点とエッジ (dynamic_) プロパティの読み取りは機能しますが、グラフのプロパティは常に空です。また、boost::read_graphml でグラフ ドメイン属性を読み取る方法にも遭遇しました。しかし、そのソリューションは空の文字列を生成するだけです (以下のコードにあります)。それとは別に、問題に関する多くの情報を見つけることができませんでした。
短縮されたコードは次のとおりです(完全な動作例test.cpp
はこちら):
を使用して完全なコードをコンパイルできますg++ test.cpp --std=c++11 -o test -lboost_graph
。で実行すると./test simple_graph.graphml
、グラフには
として定義されているタグ
simple_graph.graphml サンプル ファイルをアップロードしました(画像や詳細を投稿するには十分な担当者がいません)。
マイナーなフォローアップの質問: yEd でエクスポートされたファイル (コードを参照) を「修正」せずにグラフをロードすることは可能ですか? パーサーは常に次のような行について不平を言います (標準で許可されている GraphML 標準で許可されているかどうかは不明です:「このグループは、2 つのオプションの属性で構成されています - attr.name (データ関数の名前を指定します) - attr.type ((データ関数の値の範囲を宣言します)):
このエラーで:
解析エラー: キーのタイプ "" を認識できません
ヘルプ/アイデアは大歓迎です。どうもありがとうございました!
matlab - Matlab がメイン オブジェクトのプロパティであるすべてのオブジェクトの値を変更するのはなぜですか?
他のオブジェクトのプロパティとして設定されているオブジェクトのプロパティを変更する場合、Matlab の動作を理解するのに苦労しています。具体的にはparentObject
、 a 、 a 、 aの 3 つのオブジェクトがあるchildObject
としpropertyObject
ます。もちろん、この単純な例では、これらのプロパティは少し無意味に見えますが、私は非常に大きなプログラムを書いているので、対応するすべてのメソッドとプロパティをこれらのレベルでグループ化すると便利です。
さて、これらのクラスの私の定義は以下のとおりです。parentObject
から継承しdynamicprops
て、インタラクティブに編集可能な子のリストを持つことができます。私のプログラムでは、動的にプロパティを追加 (または未使用の削除) できるようにする必要があるため、 はからpropertyObject
継承します。dynamicprops
childrenObject
次のインタラクティブ セッションでは、子オブジェクトを作成し、 のいずれかのデフォルト値の1 つを調整しようとしていますpropertyObject
。の1 つのプロパティvalue1
の1 つが変更されることを期待していchildren
ます。
ただし、これは当てはまりません (以下を参照)。子の 1 つをpropertyObject
変更すると、2 番目の子の も自動的に変更されpropertyObject
ます。propertyObject
さらに、これら 2 つの が等しいかどうかをテストすると、肯定的な結果が得られます。子のインスタンス化 (およびそのデフォルト) が毎回propertyObject
一意になることを期待しています。propertyObject
私はPythonでのプログラミングから来ていますが、私の知る限りでは、これが当てはまります。どこが間違っているのか、クラスを意図したとおりに動作させる方法を誰かに説明してもらえますか?
追伸、私の質問が重複としてマークされているようです。ただし、重複した質問は私の質問の一部にしか答えていません。目的のオブジェクトの動作を取得する方法を説明するビット。重複した質問は、Matlab が既定のオブジェクト/プロパティを 1 回だけ読み込むことを説明していますが、Matlab が1 つのインスタンスのこの既定値を積極的に変更すると、すべてのインスタンスのプロパティ値が突然変更される理由はまだわかりません。つまり、すべてのインスタンスの値を変更せずに 1 つのインスタンスのデフォルト値を変更できない場合、デフォルト設定の目的は何ですか?
javascript - vue.js の .sync に条件を追加する
プロパティを取るコンポーネントがありoptions
ます。オプションは同期できます。以下に説明するとおりです。
コンポーネントは、 shouldSync プロパティを持つ親コンポーネント内にあります。以下に説明するように:
親コンポーネントの shouldSync プロパティが .sync の場合にのみ .sync 修飾子を使用したいtrue
。以下のように計算されたプロパティを持つ動的な小道具を使用しようとしましたが、期待どおりに機能しませんでした。
残念ながら、うまくいきませんでした。もう 1 つの方法は、コンポーネント タグを .sync を含むものと含まないものを複製し、v-if ディレクティブを使用してどちらを使用するかを決定することです。以下に説明するように:
しかし、のデフォルトのスロットに<component />
は多くのコードが含まれており、それを複製したくないため、これを行いたくありません。また、デフォルトのスロット コードを新しいコンポーネントに転送して、ここに含めたくありません。
この状況を処理するためのより良い方法はありますか? ありがとう。
typescript - Nest.js アプリの REST API で動的プロパティ名を検証する方法は?
タスクは、nest.js
アプリを管理する前にアプリでペイロードを検証することです。各ペイロードにはtag
オブジェクト (1 ~ 11) を含めることができます。Everytag object
には 1 つのプロパティと値のみを指定できます (プロパティはリクエストによって決定されます)。
タグ オブジェクトを検証する必要があります。
- プロパティは、任意の文字が受け入れ
:
られ、サイズが 1 ~ 255の文字列である必要があります - 値は、サイズが 1 ~ 255 の文字列である必要があります
タスクは単純なもののように見えます。Tag
しかし、オブジェクトで動的に構築されたプロパティを検証する方法がわかりません。
DTO は次のとおりです (を使用して構成された検証class-validator
):
柔軟にするためにTag
(プロパティ名がわからないため)Map
拡張子のようにしました
または単一のフィールド オブジェクト
それぞれに必要な検証を管理する方法はTag
?
(入力を除外する正規表現:
は is/^[^:]+$/
であり、 に適用する必要がありますkey
)