【发布时间】:2015-03-02 13:41:08
【问题描述】:
这里的代码太多,请见谅。
我有一个基本应用程序,它有一个模块、控制器和 ng-view/routProvider。
如果我在我的控制器中执行以下操作,console.log(angular.element('div').length) 控制台会吐出我有 10 个 DIV 元素。这是对的。
但是,当我尝试通过 angular.element('div').remove() 操作上述 DOM 元素时,只会删除 ng-view 之外的 DOM 元素。
有人可以解释发生了什么吗?非常感激。
编辑: 我刚刚注意到,如果我执行删除然后运行 angular.element('div').length,长度会变为 0,但 ng-view 内容保持不变。所以我的猜测是删除元素后视图没有更新..
【问题讨论】:
-
您至少需要发布基本代码。听起来你应该使用指令。 DOM 操作不是从控制器完成的。还需要显示您如何调用
angular.element('div').remove(),如果它在摘要循环之前,您想要的元素甚至可能不存在。你知道它会删除 DOM 中的每个 div 吗? -
DOM 操作永远不应该在控制器中完成。如果需要,您应该使用指令来进行 DOM 操作。通常最好尽可能使用框架指令
标签: javascript jquery html angularjs dom