Я пытаюсь получить значение от DynamoDB, а затем присвоить значение ng-модели для отображения значения. Однако данные всегда равны нулю.
Dynamodb table
"meta_value": {
"clause_note": "Note: good job!",
"show_clause_note": true,
"shown": true
},
Я получаю clause_note
Controller
$scope.clause_note = null;
$scope.item.remark = null;
$scope.loading = true;
$scope.getSettings = function () {
customPrint.getAllSettings($scope.module).then(function (res) {
if ($scope.module) {
settings.then(function (stt) {
$scope.clause_note = stt['clause_note'];
});
} else {
alert('No module is specified!');
}
}).finally(function () {
if ($scope.item.remark === $scope.clause_note) {
$scope.item.remark = '';
console.info($scope.clause_note);
}
else
{
$scope.clause_note = {show_clause_note: true};
$scope.clause_note = {shown: true};
}
});
};
$scope.getSettings();
Журнал консоли вернулся как пустой.
html
<ng-quill-editor ng-model = "item.remark"></ng-quill-editor>
Что означает, что мне нужна переменная для получения объекта мета-значения?
нет, вам нужно пройти по объекту для значений в вашей таблице


На самом деле информации для ответа на этот вопрос недостаточно. Какое значение имеет переменная stt? Если meta_value является свойством этого объекта, тогда эта строка:
$scope.clause_note = stt['clause_note'];
следует изменить на
$scope.clause_note = stt.meta_value.clause_note
Я отредактирую этот ответ, если вы дадите мне знать :)
Но есть и другие проблемы с кодом, которые затрудняют его сопровождение.
Например, кажется, что $scope.clause_note может быть строкой или объектом. Это затрудняет работу с другими частями кода, потому что не всегда очевидно, какой это тип.
Обещание settings, кажется, пришло из ниоткуда. Может быть, было бы неплохо показать в вашем вопросе, откуда это взялось. Также здесь не используется ответ от getAllSettings. Это ошибка?
Возможно, вам следует проверить, существует ли $scope.module, прежде чем отправлять запрос getAllSettings. Если не настораживает, и вернись. Это должно удалить любую логику ветвления внутри ваших обратных вызовов обещаний.
Я понял, stt содержит все объекты и значения. Поэтому я просто использую stt [object] [value]; чтобы получить значение. Спасибо за подсказку.
я думаю, что ваши данные находятся в объекте мета-значения