草庐IT

vue虚拟dom和diff算法

全部标签

javascript - 如何仅使用 DOM 对象获取 leaflet.js 实例?

我现在正在构建自定义Knockout.js绑定(bind)来处理多边形的绘制。在这种情况下,KnockoutAPI只给我一个DOM对象的引用,以访问我需要更新的任何内容。然而,看起来leaflet.js的设计是希望用户在他们的实现中存储map实例。我没有那个选项。尝试这个给了我一个错误:varexistingMap=L.map('aMapIDGoesHere')错误是:mapalreadyinitialized。有什么方法可以使用DOM元素或元素ID来访问map实例?根据要求,这是自定义绑定(bind),请注意这是一项正在进行的工作:ko.bindingHandlers.leaflet

javascript - phantomjs 使用 src 图像在 canvas.toDataURL 上抛出 DOM 异常 18

我正在尝试使用phantomjs将svg转换为png图像:varpage=require('webpage').create();page.evaluate(function(){varsvg='';varsrc='data:image/svg+xml;base64,'+window.btoa(unescape(encodeURIComponent(svg)));varimg=newImage();img.src=src;img.onload=function(){varcanvas=document.createElement('canvas');canvas.width=img.w

javascript - 如何在插入 DOM 时重新编译指令(angularjs)

好的,所以我创建了一个指令让我们说它按照我的预期进行渲染,所以一切正常。现在,我的问题是插入DOM时如何(重新)渲染它?我不想一直在我的页面上使用它,我只想动态添加它并在需要时呈现它(它是模块的一部分),比方说,理想情况下我希望它看起来像$("body").append("")如何使用angularjs实现这一点? 最佳答案 你需要在任何你想将指令元素注入(inject)DOM的地方写下两行,不要忘记在你使用的任何地方添加$document&$compile依赖vartemplate='',body=$document.find('

javascript - javascript关联数组使用什么样的哈希函数/算法?

我们了解到有许多不同的哈希算法/函数,我很好奇javascript(v8,如果实现很重要)使用哪一个。 最佳答案 由于V8是开源的,所以你去源码:这是GetHash():https://github.com/v8/v8/blob/master/src/objects.cc#L903并且,这里是一些不同类型的哈希函数:https://github.com/v8/v8-git-mirror/blob/bda7fb22465fc36d99b4053f0ef60cfaa8441209/src/utils.h#L347而且,这看起来像是字符串

javascript - 我的 DOM 中的 Google Analytics(分析)像素在哪里?

我如何使用JavaScript识别已发送GoogleAnalytics(分析)像素(或与此相关的任何像素)并包含我正在寻找的URL参数?我想,因为它是一个跟踪像素,我可以在DOM中查找它,但它看起来不像是插入过的。有人能想出一种方法来分析google使用javascript(不是chrome扩展程序)发出的网络请求吗?有点像document.whenGooglePixelIsSentDoReallyCoolStuff(function(requestUrl){}); 最佳答案 一些事情:1)跟踪信标并不总是像素。有时他们是XHR,有

javascript - 我可以在生产环境中从 CDN 加载 Vue.js 吗?

我为一个新项目选择了Vue.js,因为它似乎可以在浏览器中本地运行,而不是像React这样必须通过Node编译/转译的东西。有什么理由不能在我的生产代码中像这样链接到CDN?一位同事建议这可能仅用于开发,而unpkg只是即时转译(这听起来对性能不利)。但除此之外它似乎工作正常。我还可以链接到更强大的CDN,例如thisone,但只是想确保我没有因为不使用Node构建系统(例如webpack)而违反某种最佳实践。 最佳答案 IsthereanyreasonIcouldn'tjustlinktoaCDNlikethisinmyprodu

javascript - react-dom 爆出 webpack 包的大小

这一定是我遇到过的最奇怪的webpack问题之一......查看此bundle分割:react116.01KB-足够公平react-dom533.24KB-真的是WTF我认为这可能是我的依赖项中的一个损坏,但核对node_modules并重新安装没有任何效果。我想这与webpack捆绑它的方式有关,但我迷失了想法。我处理.js导入的方式非常标准。//webpack.config.jsconstpath=require('path');//constBundleAnalyzerPlugin=require('webpack-bundle-analyzer').BundleAnalyzer

javascript - 从 JS 文件中获取 Vue

我对现代前端开发工具还很陌生。我安装了Nodejs和NPM。下载了一些包(es:“jquery”)并且一切正常。然后我安装了Webpack(第2版),我创建了这个演示配置文件module.exports={entry:"./entry.js",output:{path:__dirname,filename:"bundle.js"}};在我的JS入口点(entry.js)我可以成功使用jQuery模块,如下var$=require("jquery");$('#test').html('Changed!');一切正常。当我选择Vue时,问题就出现了。我安装了npminstallvue--s

javascript - Vue.js 过渡出现/发生在进入视口(viewport)的元素上

首先请不要使用jQuery。我可以在jQuery等中做到这一点,问题的重点是在没有不必要的依赖的情况下做到这一点。这里的场景是我正在创建一个单页网站,其中有几个部分可供滚动浏览。我想用Vue.js'stransitions在浏览器滚动到该部分后简单地淡入。我已经设法使转换与appearattribute一起工作但问题是这个初始渲染触发器适用于屏幕外的元素,我想推迟该触发器,直到浏览器在屏幕上滚动该元素。我找到了像vue-observe-visibility这样的图书馆这可以满足我的需要,但老实说,我不想简单地为触发器创建大量数据属性,以将其更改为true,以便v-if语句触发淡入淡出效

javascript - vue 在 v-model 之后执行@click

我有一个状态基于todo.complete的复选框todo.save()将当前的完整值保存到数据库中。但是@click似乎在v-model绑定(bind)更新todo.complete之前被触发我必须这样做才能让它工作:有什么方法可以在v-model更新后执行todo.save()。类似于@click.after 最佳答案 尝试使用change事件代替: 关于javascript-vue在v-model之后执行@click,我们在StackOverflow上找到一个类似的问题: