草庐IT

vue虚拟dom和diff算法

全部标签

javascript - 全局修改axios默认 header 时出现问题 - Vue

在ma​​in.jsimportaxiosfrom'axios';axios.defaults.headers.common={'Authorization':'JWT'+Vue.auth.getToken()};axios.defaults.baseURL=process.env.VUE_APP_BASE_URL;//TODO:appendthetrailingslash//AddmodifiedaxiosinstancetoVueprototypesothattobeavailablegloballyviaVueinstanceVue.prototype.$http=axios;到

javascript - 查找点属于哪个六边形的高效算法

我试图从以下方面找到一种更有效的方法来确定一个点属于哪个六边形:一组点-为了论证,10000点。一组六边形的中心点,大约1000个六边形。每个点都属于一个六边形,一些(大多数)六边形是空的。六边形形成一个完美的网格,一个六边形的点从左上角开始(它将与总面积的边缘重叠)。我目前的解决方案有效,但相当慢n*(mlogm)我认为,其中n=length(points)和m=length(六边形)。我怀疑我可以做得比这好得多,想到的一个解决方案是根据点和六边形到某个任意点(可能是中间,可能是Angular)的距离对点和六边形进行排序(仅一次),然后迭代在这些点和六边形的子集上,从第一个六边形到该

javascript - JavaScript 中的最近对算法

我正在尝试实现分而治之算法,以使用JavaScript在随机生成的点集中找到最近的一对点。该算法应该在O(nlogn)时间内运行,但它比简单的蛮力算法运行时间要长得多,后者应该是O(n^2)。我创建了两个jsfiddle,为16000个点的数组计算算法时间:DivideandConquerBruteForce我的假设是,分而治之之所以如此缓慢,是因为JavaScript数组实际上是哈希表。是否有可能显着加快JavaScript中的算法?如果是这样,执行此操作的最佳方法是什么? 最佳答案 一眼看去,您的合并函数分配了过多的内存(大致顺

javascript - 高效查找出现在指定 DOM 元素上的 DOM 元素

如何高效地找到位于指定查询元素之上的所有DOM元素?也就是说,我想要一个Javascript函数,当我传入对DOM元素的引用时,它将返回一个包含所有DOM元素的数组,这些元素与输入元素有非零重叠并在视觉上显示在它上方。我的具体目标是找到那些可能在视觉上阻挡其下方元素的元素。上下文是我对网页、查询元素或其他任何东西都没有高级知识的上下文。出于各种原因,元素可能会出现在其他元素之上。我当然可以通过对DOM的详尽搜索来做到这一点,但是当DOM树变大时,这非常低效且不实用。我还可以使用较新的elementFromPoint从查询元素中采样位置,以确保它确实在顶部,但这似乎效率很低。关于如何更好

javascript - 布料仿真系统并行化算法?

可以使用以下算法完成简单的布料模拟:deftick(dt):forp1inparticles:forboundinp.bounds:p2=bound.particlep2.vel+=p1.pos+bound.stable_pos-p2.posp1.pos+=p1.vel*dt作为测试,我尝试了implementingit在JavaScript中。不幸的是,这很难扩展。随着粒子数量的增加,性能下降得非常快,并且限制非常低。有没有办法并行化这个算法?你能把它描述成一个简单的伪代码吗? 最佳答案 下面是平行布仿真设计的详细说明:http:

javascript - Vue.js 中的内联反转 bool 值 @click

对于一个简单的演示,我想反转我在Vue.js实例的数据属性中定义的bool值。我尝试过的:Toggle和Toggle我想避免编写单独的方法或在我的v-on:click="":spanVisible中包含类似的东西?!spanVisible:!spanVisible因为它只是多余的。所以现在我的问题主要是:为什么直接反相不起作用?我还有什么其他的可能性可以让它简短明了?编辑:我现在发现的最短的可能变体是使用spanVisible=!spanVisible,但不确定这是否是可用的最简洁的版本。解决方案:@Sombriks在评论中提出了我找到的最佳解决方案:使用@click="!spanVi

javascript - vue 2、typescript、mocha 和 karma 的代码覆盖率

我们将Vue2与Typescript和webpack3结合使用。Vuex用于状态管理。我们的测试与Karma以及Mocha、Sinon、Expect和Avoriaz一起运行。一切都很好,但我尝试使用Istanbul获得代码覆盖率,以更好地直观表示缺少哪些测试。文件夹结构的小型表示来源组件分享按钮按钮.vue按钮.tsindex.ts...测试单位组件分享按钮按钮.spec.test.tskarma.conf.jskarma.coverage.jsindex.ts...按钮.vuebutton.tsimport{Component,Prop,Vue}from'vue-property-d

javascript - 全局记录 jQuery 错误(事件和 DOM 错误)

由于现在的系统越来越多地面向Javascript(jQuery、AJAX等),我们一直在努力为这些事情中的任何一个记录越来越多的错误日志。我担心的是,在jQuery本身中,当创建或执行正常的DOM操作/jQuery事件时,window.onerror无法捕获这些,这可能有助于调试错误生产速度更快,让他们登录服务器在2008年的这篇文章(.onerror&jQuerybindtry/catch{})中,他们向jQuery.bind()事件try/catch{}>甚至是document.ready事件。现在一切都通过.on()事件,这篇文章有点过时了,但我觉得逻辑仍然有效......有没有

没有引用 DOM 元素的 Javascript/Prototype : Get css values,?

是否可以通过在CSS文件中定义的类名(例如类的宽度)检索样式属性,而不必从DOM中的实际元素中获取它? 最佳答案 是的。查看document.styleSheets属性。https://developer.mozilla.org/en-US/docs/Web/API/document.styleSheetshttp://www.quirksmode.org/dom/tests/stylesheets.html 关于没有引用DOM元素的Javascript/Prototype:Getcss

javascript - 为什么 md 工具提示不适用于 md 虚拟选项卡

我正在使用AngularMaterial。当我创建自己的指令并将其添加到md-tab-label时,例如Label然后自定义指令也应用于一些“md-dummy-tab”。但是如果我将mdtooltop给md-tab-label,就像LabelLabel然后没有应用于“md-dummy-tab”类的md-tooltip我尝试在mdtooltip代码中搜索,但找不到任何线索。https://github.com/angular/material/blob/master/src/components/tooltip/tooltip.js我怎样才能对我的自定义指令执行相同的操作,即自定义指令不