Javascript TypeError:无法读取属性';插入前';空的

Javascript TypeError:无法读取属性';插入前';空的,javascript,jquery,angularjs,jquery-ui,angularjs-ng-repeat,Javascript,Jquery,Angularjs,Jquery Ui,Angularjs Ng Repeat,我有一个这样的数组 var users = [ { 'id': 1, 'name': 'user name', 'age': 25, ... }, { 'id': 2, 'name': 'user name', 'age': 25, ... } ... ] 我使用ng repeat将其显示为列表。像这样 <li ng-repeat="user in users"> {{user.name}} <a href="#" ng-click

我有一个这样的数组

var users = [
    { 'id': 1, 'name': 'user name', 'age': 25, ... }, 
    { 'id': 2, 'name': 'user name', 'age': 25, ... } 
    ...
]
我使用
ng repeat
将其显示为列表。像这样

<li ng-repeat="user in users">
    {{user.name}}
    <a href="#" ng-click="UserCTRL.remove_user(user.id)">remove user</a>
</li>
  • {{user.name}
  • 我使用jquerysortable对
    li
    进行了排序。
    sortable
    起作用,而
    remove\u user
    起作用。但是,当我将最后一个li移动到上面的任何位置时,它都会工作,直到我尝试删除用户,然后我就会得到错误


    谢谢你的帮助。这个错误是什么意思?

    我不知道你是否解决了这个错误,因为这个问题是两年前提出的。我碰巧遇到了与您一样的错误,我猜错误可能是
    无法读取null的属性'insertBefore'
    。在
    ng repeat
    内添加包裹层
    div
    ,以防止角度元素被弄乱,并使用刚刚添加的
    div
    列表对其进行排序,如下所示应可防止此错误:

    <li ng-repeat="user in users">
        <div>
            {{user.name}}
            <a href="#" ng-click="UserCTRL.remove_user(user.id)">remove user</a>
        </div>
    </li>
    
  • {{user.name}

  • 浏览器中安装的扩展也可能导致此错误。在chrome浏览器中启用“Dark Reader”扩展时,我遇到了相同的错误。

    请检查,您似乎必须锁定列表。为什么要使用jQuery
    sortable
    ?AngularJS已经内置了排序功能。请参阅@fdomig我想让用户根据自己的喜好对用户列表进行排序(通过拖放)列表中的用户。然后我保存了新的职位。@HenkJansen我在没有angularjs的情况下尝试了它。我认为angularjs犯了错误