更新ngrepeat而不刷新dom

时间:2016-05-19 21:49:15

标签: angularjs dom angularjs-ng-repeat

这个问题在我的代码中多次出现,但除了现在,一个简单的技巧随时修复它。我有一个从数据库中提取的对象列表,列在表中,带有一个按钮我打开一个模态来创建一个新对象,将其添加到数据库并将新对象返回给父控制器。在关闭模态后调用的模态的成功函数中,新对象将添加到列表中。以前dom更新自己没有刷新页面,但现在它没有。我读了一些关于轨道的内容,列表中的轨道更改,添加删除和更改,但没有。刷新后,dom会更新,但应该可以不用。该列表名为" vm.allTask​​s"

    <table class="mdl-data-table mdl-js-data-table mdl-data-table--selectable mdl-shadow--2dp mdl-cell--12-col" ng-controller="taskController as vm">
    <thead>
        <tr>
            <th class="mdl-data-table__cell--non-numeric">Taak beschrijving</th>
            <th class="mdl-data-table__cell--non-numeric">Opties</th>
        </tr>
    </thead>
    <tbody>
        <tr ng-repeat="task in vm.allTasks track by task._id">
            <td class="mdl-data-table__cell--non-numeric">{{task.description}}</td>
            <td>
                <button class="mdl-button mdl-js-button mdl-button--icon mdl-button--colored">
                    <i class="material-icons">edit</i>
                </button>
                <button class="mdl-button mdl-js-button mdl-button--icon mdl-button--colored">
                    <i class="material-icons" ng-click="vm.removeTask(task._id, $index)">delete</i>
                </button>
            </td>
        </tr>
    </tbody>
</table>

1 个答案:

答案 0 :(得分:0)

上面的代码是html partial的一部分。所以这个文件和另外两个文件包含在一个更大的html文件中。但他们共用同一个控制器,这是我的错误。我给了一个大的html文件一个控制器,但在部分中做了同样的事情。那么这个控制器有两个范围,这就是我的数据没有更新的原因。因为我在我的路线中添加了一个控制器,所以我甚至不必在我的html视图中提及。

new_image = ImageChops.subtract(tiff_bubble, Avv)