Я полагаю, что в этой части кода есть проблема
then(axios.spread((adm) => {
let admissData = adm.data.d.results;
///
let aComp = new admComponent(admData);
aComp.loadAdmData(admData);
}))
. Попробуйте отладить их:
admData
. Редактировать 1:
Если ключ Значения отличаются, тогда, возможно, у вас возникли проблемы при чтении данных здесь
return {
"Ct": val.Ct,
"Status": val.AdmStatus,
"Classification": val.Classification
}
Также напечатайте admText
, чтобы увидеть, правильно ли сформирован Json
Он называется «оператором нулевого слияния» и работает примерно так:
Вместо выполнения:
int? number = null;
int result = number == null ? 0 : number;
Теперь вы можете просто сделать:
int result = number ?? 0;
Это оператор объединения. По сути, это сокращение для следующей
x ?? new Student();
x != null ? x : new Student();
документации MSDN об операторе
Это новый оператор Null Coalesce.
The ?? оператор возвращает левый операнд, если он не равен нулю, или возвращает правый операнд.
Вы можете прочитать об этом здесь:
оператор возвращает левый операнд, если он не равен нулю, или возвращает правый операнд.
Вы можете прочитать об этом здесь:
оператор возвращает левый операнд, если он не равен нулю, или возвращает правый операнд.
Вы можете прочитать об этом здесь: http://msdn.microsoft.com/en-us/library/ms173224 (VS.80) .aspx
это оператор объединения он вернет другое значение, если первое значение будет нулевым
string value1 = null;
string value2 = "other";
string value3 = value1 ?? value2; // assigns "other" to value 3
Одно из моих любимых применений оператора объединения нулей - избегать операторов if в моем коде (я думаю, что операторы уродливы и просто загромождают вещи в большинстве случаев). Например, возьмем типичный сценарий, в котором можно выбрать загрузку чего-либо из кэша, если он доступен, в противном случае загрузить из базы данных и заполнить кэш.
private SomeData GetData() {
var data = HttpRuntime.Cache.Get("key") as SomeData;
if (data == null) {
data = DAL.GetData(some parameters...);
HttpRuntime.Cache.Add("key", data, ....);
}
return data;
}
Для меня это ужасный код. Я могу быть немного анальным, но почему бы не рефакторировать это вместо этого?
private SomeData GetDataAndCache() {
var data = DAL.GetData(some parameters...);
HttpRuntime.Cache.Add("key", data, ....);
return data;
}
private SomeData GetData() {
var data = HttpRuntime.Cache.Get("key") as SomeData;
return data ?? GetDataAndCache();
}
Это более близко следует SRP и является более чистым и легче читаемым, IMO. Каждая из этих функций выполняет ровно одну четко идентифицируемую функцию.
?? Нулевой коалесцирующий оператор
int? является обнуляемым int, что означает, что он может иметь значения нормальных int и null. Прочитайте этот для деталей.
Это оператор слияния . Он используется с обнуляемыми типами (помимо прочего, извините:)
Это сокращение для:
Text = (category == null ? "Home" : category);
он проверяет, является ли категория нулевой - в этом случае нулевое значение заменяется на «Home».
Это оператор объединения с нулевым значением . Он был введен в C # 2.
Результат выражения a ?? b
равно a
, если это не NULL, или b
в противном случае. b
не вычисляется, если в этом нет необходимости.
Две приятные вещи:
Общий тип выражения - тип второго операнда, что важно при использовании типов значений, допускающих значение NULL:
int? возможно = ...;
int определенно = возможно ?? 10;
(Обратите внимание, что вы не можете использовать тип значения, не допускающий значения NULL в качестве первого операнда - это будет бессмысленно.)
Правила ассоциативности означают, что вы можете очень легко связать это. Например:
строковый адрес = адрес доставки ?? Адрес для выставления счета ?? Контактный адрес;
Это будет использовать первое ненулевое значение из адреса доставки, выставления счета или контактного адреса.