Angularjs получает выгоду от DynamoDB

Я пытаюсь получить значение от 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>

я думаю, что ваши данные находятся в объекте мета-значения

Shailendra Gupta 10.12.2018 19:07

Что означает, что мне нужна переменная для получения объекта мета-значения?

Bebekim Lim 10.12.2018 19:42

нет, вам нужно пройти по объекту для значений в вашей таблице

Shailendra Gupta 10.12.2018 20:37
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Директивы позволяют расширять HTML новыми элементами и атрибутами и даже создавать собственные структурные директивы для манипулирования DOM. С...
Разница между Angular и React
Разница между Angular и React
React и AngularJS - это два самых популярных фреймворка для веб-разработки. Оба фреймворка имеют свои уникальные особенности и преимущества, которые...
0
3
139
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

На самом деле информации для ответа на этот вопрос недостаточно. Какое значение имеет переменная 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]; чтобы получить значение. Спасибо за подсказку.

Bebekim Lim 15.12.2018 11:09

Другие вопросы по теме