Angularjs 从 DynamoDB 获取价值

Angularjs get value from DynamoDB

我正在尝试从 DynamoDB 获取值,然后将值分配给 ng-model 以显示该值。但是,数据始终为空。

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.log($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 的响应。这是一个错误吗?

也许您应该在发送 getAllSettings 请求之前检查 $scope.module 是否存在。如果它不提醒,则 return。这应该会删除您的 promise 回调中的任何分支逻辑。