- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用基于前端组件的 UI 框架,该框架完全通过 jQuery 管理其 UI。在它最初创建的时候,这听起来并不那么疯狂,jQuery 是制作交互式 Web 组件的稳定的逻辑选择。然而,现在手动跟踪每个变量和数据的每个变化,然后将其反射(reflect)在 DOM 中,不再是唯一可行的选择。随着框架的发展,保持一致的代码风格和代码效率的负担也越来越大。
我最近一直在查看 Maquette.js,看起来它可能只是帮助解决这些挑战以及更多问题的框架。
我知道使用 this将 Maquette 与其他库集成的技术。但是,我的框架很大,很多人都依赖它,将我们的所有渲染转换为 Maquette 是不可行的。至少不是一蹴而就。因此,如果我确实使用 Maquette,我预见自己将被迫为组件的每个实例使用新的投影仪。这就是我所关心的。
与使用单个投影仪渲染所有内容相比,在页面上显示大量投影仪是否会对性能产生负面影响?换句话说,就性能而言,将页面上的投影仪数量降至最低有多理想?
如果代码有帮助,我已经修改了 Maquette 主页上的简单示例来说明这一点。 1000 台投影仪同时运行。看起来不错,但感觉就像我在做 Maquette 设计本不应该做的事情。
document.addEventListener('DOMContentLoaded', function () {
var h = maquette.h;
var domNode = document.body;
var yourName = ''; // Piece of data
var numbers = [];
// Load up our array
for(var i = 0; i < 1000; i++){ numbers.push(i); };
numbers.forEach(function(){
var projector = maquette.createProjector();
// Plain event handler
function handleNameInput(evt) {
yourName = evt.target.value;
}
// This function uses the 'hyperscript' notation to create the virtual DOM.
function renderMaquette() {
return h('div', [
h('input', {
type: 'text', placeholder: 'What is your name?',
value: yourName, oninput: handleNameInput
}),
h('p.output', ['Hello ' + (yourName || 'you') + '!'])
]);
}
projector.append(domNode, renderMaquette);
});
});
最佳答案
好问题。投影仪重量轻,而且是被动的。如果您同时在所有 1000 台投影仪上调用 scheduleRender,我只会预见到一些性能损失。这意味着每个投影仪都会调用 requestAnimationFrame。如果您只同时在几台投影仪上调用 scheduleRender,开销应该是最小的。
关于javascript - 在一个页面上运行多个 Maquette 投影仪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42014011/
我想在 maquette 中使用 © 实体,但是当我将它作为 child 传递时,它会以纯文本形式出现。我想我可以使用 ©,但这有什么乐趣呢? 最佳答案 不幸的是,Javascript 没有 HTML
我的问题是关于 Maquette 中组件之间的通信Javascript 框架。 假设我在 Application 组件中使用了一个 Menu 子组件:Application 实例想知道菜单项何时出现在
我一直在进一步研究使用 maquette.js作为虚拟 DOM 库。 看着 website该库具有在添加、删除和更新 DOM 节点时支持动画的功能。 但我找不到任何关于如何实现这一目标的文档或 API
一些背景 我使用基于前端组件的 UI 框架,该框架完全通过 jQuery 管理其 UI。在它最初创建的时候,这听起来并不那么疯狂,jQuery 是制作交互式 Web 组件的稳定的逻辑选择。然而,现在手
As mentioned previously ,我想使用 Maquette 作为基本的超脚本语言。因此,我不想使用 maquette.projector。然而,尽管能够将使用 Maquette 制作
我正在使用 maquette js 开发一个小型应用程序。这个库使用虚拟 DOM 实现。在触发数据存储更改的某些用户事件之后,它会导致(部分)重新呈现,包括创建一些新的 DOM 节点。 我如何确保其中
我们想在现有系统中使用模型。使其他第 3 方库(例如 select2、就地修改 DOM 的引导工具提示)在 maquette 中运行良好的最佳实践是什么? 最佳答案 虽然问题很广泛,但答案很简单。 M
我有一个每秒更新一次的数组,我正在浏览带有映射数组的高级部分,但无法完成任务。我对 updateTarget(updatedSource, target) {} 函数内部的内容感到困惑。注释和代码笔就
我是一名优秀的程序员,十分优秀!