更新列表

时间:2018-03-13 18:53:52

标签: angularjs angularjs-scope angular-ui-tree

我根据它的手册使用angular-ui-tree模块对列表进行排序。删除项目后,会有一个发送到后端服务的列表,该列表会保存新的排序顺序。

vm.treeOptions = {
    dropped : function(e) {
        restService.post('comments/' + currentId + '/settree', vm.myList);
    }
};

<div ui-tree="vm.treeOptions">
    <ol ui-tree-nodes ng-model="vm.myList">
        <li ng-repeat="item in vm.myList track by $index" ui-tree-node>
            <div class="tree-node tree-node-content">
                <i ui-tree-handle class="fa fa-arrows"></i> {{ item.name }}
            </div>
        </li>
    </ol>
</div>

但是 - 一旦保存过程完成,就会触发一个事件(我连接到一个WebSockets服务器,一旦内容更新就发出事件,发送新内容)。由于某些情况,它可能会给出略微修改的列表。因此,一旦事件被触发,我将vm.myList替换为新内容。

    $scope.$on('ws:list_changed', function(m, data) {
        updateList(data);
        $scope.$apply();
    });

    function updateSpeakersList(data) {
        vm.speakersList = data;
    }

当我现在再次更改订单时,我总是得到#34; old&#34;列表,vm.myList确实显示正确,但显然没有吸收到删除函数。

有人知道我在这里缺少什么吗?非常感谢!

0 个答案:

没有答案