【问题标题】:Is it possible to create a custom component loader to inject components synchronously?是否可以创建自定义组件加载器来同步注入组件?
【发布时间】:2014-10-14 06:21:54
【问题描述】:

我在第一次加载组件时注意到了一些“不稳定”,尤其是当它位于页面顶部时(因为它下面的所有内容都已经呈现)。在Knockout Documentation 中发现组件加载器异步提供视图模型工厂和模板。

由于我目前正在开发的应用程序是预编译的,是否可以编写一个自定义加载器来同步提供所有内容?

【问题讨论】:

    标签: knockout.js knockout-3.0


    【解决方案1】:

    不,这是不可能的。虽然你可以设置一个同步获取组件信息的组件加载器,但是 Knockout 的组件代码仍然会异步渲染它。

    【讨论】:

    • 它似乎只是第一次异步渲染。之后每隔一段时间它似乎是同步的,对吗?这是使用 require.js 加载模块的淘汰赛的问题吗?查看此处的淘汰文档 (knockoutjs.com/documentation/…) Browserify 提供了异步解析的替代方案,但我不确定它是如何工作的。
    • 任何时候组件被“加载”和渲染,它都是异步完成的。组件内绑定等的更新将是同步的。
    • 因此,我们对 UI 的“组件化”越多,它呈现的“混蛋”就越多。这是一个非常不幸的副作用。文档底部的“浏览”注释是否在这里起作用? knockoutjs.com/documentation/component-loaders.html
    • 我不知道“生涩”,但您会看到组件部分显示在其他部分之后。
    • 仅供参考在这里创建了功能请求:github.com/knockout/knockout/issues/1504。也许这不是很多人关心的问题(我认为 Web 应用程序应该一次全部渲染,或者从上到下渲染。“随机顺序”是错误的!:) 或者我们的应用程序比其他应用程序受到的影响更大。 .
    猜你喜欢
    • 2019-07-05
    • 1970-01-01
    • 2022-10-06
    • 2019-02-08
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    相关资源
    最近更新 更多