【问题标题】:Access virtual DOM contents访问虚拟 DOM 内容
【发布时间】:2016-01-17 17:10:59
【问题描述】:

我想实现一个演练教程,但要做到这一点,我意识到我需要能够从属性值(例如名称或 ID)中选择 HTML 元素,即从 HTML 节点获取属性的值。我认为目前没有办法在 elm 中获取元素的名称:有人可以确认吗?这是否意味着我需要在 virtual-dom 包中添加一些东西?

【问题讨论】:

    标签: elm


    【解决方案1】:

    不,没有办法在 Elm 中真正读取虚拟 DOM 树。如果您查看 VirtualDom.elm 的源代码,您会发现几乎每个函数都是在原生 JavaScript 中实现的,位于 Native/VirtualDom.js 文件中。

    当然,您可以编写某种原生 API 来欺骗系统并像您所说的那样检查 html,但虚拟 DOM 从来没有打算以这种方式使用或查询。您构建视图所用的模型应该是事实的来源。或许如果你稍微调整一下你的设计,你会发现你根本就不需要这个要求。

    【讨论】:

    • 我看不出问题出在哪里。当然,我可以修改我的模型。但这就是演练库的全部意义:能够在任何视图上操作,给定元素名称列表和匹配的描述。这个想法是创建一个可以包装任何模型、视图、更新的模块。
    • 问题是虚拟 DOM 代码不是以将其内部暴露给 Elm 的方式编写的,所以如果你必须以你所说的方式访问 html,你在某些时候将不得不使用本机 JavaScript 来完成。如果不是这样就好了,但我认为这些决定更多是出于性能原因。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    • 2021-08-19
    • 1970-01-01
    • 2020-08-25
    相关资源
    最近更新 更多