プロパティへの「パス」を定義するエンティティ Person と文字列があるとします。たとえば、「Address.Country」としましょう。オブザーバブル保有国にアクセスできる機能はありますか?
質問する
170 次
1 に答える
1
getProperty および setProperty メソッドから開始できます。
var address = myEntity.getProperty("Address");
var country = address.getProperty("Country");
次に、使用できます
function getPropertyPathValue(obj, propertyPath) {
var properties;
if (Array.isArray(propertyPath)) {
properties = propertyPath;
} else {
properties = propertyPath.split(".");
}
if (properties.length === 1) {
return obj.getProperty(propertyPath);
} else {
var nextValue = obj;
for (var i = 0; i < properties.length; i++) {
nextValue = nextValue.getProperty(properties[i]);
// == in next line is deliberate - checks for undefined or null.
if (nextValue == null) {
break;
}
}
return nextValue;
}
}
「propertyPath」パラメーターは、文字列の配列または「.」のいずれかです。区切りパス
var country = getPropertyPath(myEntity, "Address.Country");
また
var country = getPropertyPath(myEntity, ["Address", "Country"]);
于 2013-11-07T16:06:41.627 に答える