Appcelerator REST 复杂自定义对象更新

Appcelerator REST Complex Custom Object Update

全部,

TL:DR

详情:

我正在使用 AngularJS 通过 REST 访问 Appcelerator 云服务。我有一个复杂的自定义对象(请参阅下面的 Gist 链接)。我的自定义集合将在每个事件中包含这些对象之一。每个项目都有团队,每个团队都有参赛者。每支队伍和选手在赛事环节进行角逐,观众对队伍和选手的表现进行投票。我想更新团队和参赛者的分数,但我不知道如何设置字段值才能更新分数。

我已经用我所有涉及此问题的文件创建了一个要点。如果有人可以提供一些帮助,我将不胜感激。

Demo

让你的整个数组都被调用'arr';

var arr= {....};

让我们来处理位于从顶部数第 3 个键的段。然后在您的 HTML 中,它看起来像这样:

    <table>
        <tr ng-repeat="segment in arr[0].segments">
            <td ng-bind="segment.name"></td>
            <td>
                <input type="text" ng-model="segment.name">
            </td>
            <td ng-bind="segment.score"></td>
            <td style='cursor:pointer;' ng-click="segment.score = segment.score+1">Add Score</td>
        </tr>
    </table>

你的控制器应该是这样的:

var TodoCtrl = function ($scope) {
    $scope.arr = arr;
}

它只是一个对象数组,因此可以将它想象成一个字符串数组或数字数组,但具有属性。例如,如果你想输出第二个数组中的所有参赛者,你会做类似

的事情
arr[1].contestants.forEach(function(element, index, object){
    console.log(element.id, element.name); // name would start with Gene Collier
    element.segments.forEach(function(_el){
            console.log('name', _el.name, 'score', _el.score);
    });
}

希望对您有所帮助。

我放弃了,将乐谱对象改成了平面文档。我现在有一个 event/team/segment 或 event/contestant/segment 的乐谱文档。这应该允许轻松更新分数 属性,因为分数文档中现在没有散列或数组。