代码之家  ›  专栏  ›  技术社区  ›  David Conlisk

对于从WebAPI绑定的数据,如何获取对DOM元素的引用?

  •  0
  • David Conlisk  · 技术社区  · 6 年前

    我正在尝试在我的应用程序中使用muuri( https://github.com/haltu/muuri )用于显示我从Web API检索的数据。如果我理解正确,muuri可以使用dom项。如果我在标记中硬编码一些项目,它们就会正常工作。但是,当我使用 *ngFor 要绑定从Web API检索到的项目,它们无法正常工作。我怀疑这是因为它们不存在于DOM中。

    我在Stackblitz上创建了一个示例项目: https://stackblitz.com/edit/angular-xu5c3s

    看起来我需要打电话给穆里 grid.add 方法,但该方法将DOM元素数组作为参数。因此,我认为有两种可能的解决方案,这两种方案目前都避开了我:

    1. 我需要找到一种方法来获取绑定对象的DOM元素,然后将它们传递给 添加网格
    2. 我需要动态地创建DOM元素,而不是使用 ngFor 显示项目。

    如何让muuri识别我的绑定项?

    1 回复  |  直到 6 年前
        1
  •  2
  •   KiraAG    6 年前

    角度DOM渲染的工作方式不同。 Model => viewModel => View(DOM) . 当我们对模型进行任何更改时,只需在每个dirtycheck期间更新viewmodel,angular internal domrenderer(来自@angular/platform browser),更新本机dom。

    更多关于机械的信息 DOM updates .

    更多信息 Change Detection .

    既然你是 *ngFor ,它手动创建DOM节点并更新viewModel,然后获取角度并更新到本机DOM。

    所以我给你打过电话 Muuri fn 里面 setTimeOut 延时100毫秒。

    这里是 stackblitz demo