【问题标题】:How to force Angular to remove DOM elements如何强制 Angular 移除 DOM 元素
【发布时间】:2015-01-18 07:27:44
【问题描述】:

我使用绝对定位来定位数百个 DOM 元素。当我重新调整页面大小时,我想让列展开。 B/c 我正在使用 Angular,现有的 DOM 元素不会重新绘制,因为数组不会改变,只是屏幕会改变。如何强制 Angular 重新定位每个 DOM 元素?我必须先删除它们吗?如果是这样,我该怎么做?

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    您想知道屏幕大小何时发生变化,然后触发 Angular 代码中的一些更改以调整列的大小。

    您可以使用如下代码观察屏幕大小的变化:

        angular.element($window).bind('resize', function() {
            scope.$apply(function() {
                applyHeight();
            });
        });
    

    Angular.js: set element height on page load

    至于更改 DOM 元素,听起来这更像是一个 CSS 问题,而不是需要删除它们的问题。您应该尝试使用某种响应式列布局(如引导程序)来解决您的整个问题,但如果您必须继续使用 ng-style

    https://docs.angularjs.org/api/ng/directive/ngStyle

    并可能根据窗口的宽度计算每个元素的宽度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-08
      • 2011-10-24
      • 2014-05-04
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2021-04-15
      • 2016-12-21
      相关资源
      最近更新 更多