草庐IT

vue虚拟dom和diff算法

全部标签

javascript - 使用 Vue.js 访问子组件中的 api 数据

我正在开发一个大型应用程序,在处理来self的API的数据并将其传递到我的子组件时遇到了很多麻烦。情况。我从父组件调用我的API,并通过prop将数据传递到我的子组件。子组件可以很好地显示数据,但我无法在子组件的就绪函数中访问数据。看看:https://jsfiddle.net/kmrfkynf/3/正如您在控制台中看到的那样,在子组件就绪函数中显示数据会给我一个空对象...ready:function(){console.log('itemsfromchildcomponent',this.items);}...但是子组件在我的重复中很好地渲染了对象。所以问题是子组件在父组件的API

javascript - 在 Vue 中代理 webpack 开发服务器

我正在尝试使用vue-axios和vuex将所有api/请求代理到http://localhost:3000。命令行上的输出表明代理已经创建,但它实际上并没有代理到正确的地址和404。我在webpack中有以下设置:dev:{env:require('./dev.env'),port:8080,autoOpenBrowser:true,assetsSubDirectory:'static',assetsPublicPath:'/',proxyTable:{'api/':{target:'https://localhost:3000/api',changeOrigin:true,path

javascript - 如何在 DOM 中显示 source map 的 JS 错误

我正在尝试调试使用create-react-app为Googlebot创建的应用。TL:DR:我需要将我的错误添加到DOM中,以便它在Google机器人渲染中可见。问题是我如何获得React在开发中显示的准确(通过源映射)文件/行/列号以显示在DOM节点中。关于Googledocumentationfordebuggingrendering,他们提供了一个使用全局window.addEventlistener('error')的片段,将错误添加到DOM,以便它在Googlebot生成的渲染屏幕截图中可见。但是,当我在开发中尝试这样做时,我将其作为堆栈跟踪的第一行:在Home.rende

javascript - 我可以修改 Vue.js VNodes 吗?

我想为child分配一些属性和类VNode通过data目的。那只是有效。但是在我的Vue.js调查中,我没有看到使用这种模式,这就是为什么我认为修改children不是一个好主意VNode的。但这种方法有时会派上用场——例如,我想为默认插槽中的所有按钮分配aria-label属性。请参见下面的示例,使用默认的有状态组件:Vue.component('child',{template:'Myroleis{{$attrs.role}}',})Vue.component('parent',{render(h){const{default:defaultSlot}=this.$slotsif(

javascript - 如何在此处本地托管 webbrowser 虚拟机 : http://bellard. org/jslinux/

我不太了解Javascript,我想托管集成Linux的网络浏览器(可以找到here)。原因是我并不总是连接到网络,想知道它是如何工作的。无意不尊重作者的许可。我尝试将三个文件(term.js、cpux86.js和HTML文件本身)的源代码复制到一个文件夹中,然后运行​​HTML,它不起作用。有什么办法让它发挥作用吗?另外:如果它不起作用,为什么会这样?目录结构是我抄的,几乎一模一样。PS:我还使用了Firefox的Javascriptdeobfuscator插件,但这也没有太大帮助。我确实缩进了所有代码以使其更具可读性,但仍然无法理解:P 最佳答案

javascript - 从父 JavaScript 访问跨域 IFrame DOM 属性

这个问题在这里已经有了答案:Waystocircumventthesame-originpolicy(8个答案)关闭7年前。已经有一些类似的问题,但它们往往涉及child与parent的关系。另一方面,我希望能够获得IFrame的DOM的一些属性。我不想操纵任何东西。我只想能够读取属性或DOM节点。诸如属性或内容之类的东西。AFAIK这是不可能的,除非我使用像window.postMessage这样的东西。与此解决方案一样合理的是,它基于事件监听器。这需要在IFrame中定义一个监听器,这意味着更改IFrame的代码。我想避免这种情况。如果你想进行跨域Ajax调用,你可以(如果你也有访

javascript - 我可以强制浏览器在继续执行 javascript 之前呈现出 DOM 更改吗?

我正在填充一个包含大约500行的表格,这需要浏览器几秒钟的时间来呈现,而它看起来是卡住的。这就是为什么我要显示一条消息,请求用户耐心等待:$.ajax({url:'{{search_url}}',success:function(response){$('#progress').text('Renderingresults,pleasewait...');clear_table();populate_table(response);}});消息没有显示-显然浏览器(在Chrome23中测试)缓冲了所有DOM更改并一次渲染它们。作为一种解决方法,我发现当我延迟填充表直到执行返回到事件循环

javascript - 重复小数算法

我正在尝试编写一个简单的重复十进制算法。现在,我已经非常接近找到有用的东西了。我尝试使用这个算法:Howtoknowtherepeatingdecimalinafraction?"Averysimplealgorithmisthis:implementlongdivision.Recordeveryintermediatedivisionyoudo.Assoonasyouseeadivisionidenticaltotheoneyou'vedonebefore,youhavewhat'sbeingrepeated."除了检测重复的小数模式并将其放在括号中外,我能够执行上述所有操作。对于

javascript - 在 DOM 元素之后移动选择

我目前正在为网络构建一个Markdown编辑器。通过Range附加HTML等价物,实时预览Markdown标签。界面。使用了以下代码,根据MDN应该可以正常工作:varrange=document.createRange()varselection=window.getSelection()range.setStart(textNode,start)range.setEnd(textNode,end+2)surroundingElement=document.createElement('strong')range.surroundContents(surroundingElement

javascript - angularJS:WAITING ng-if 完成,以确保 DOM 已准备就绪

我正在使用ng-if来显示和隐藏一个元素。当该元素出现时,我想调用一个服务,该服务在新元素内滚动到某个子元素(按Id)。问题是,如果我在将元素设置为可见后立即尝试调用我的服务函数,那么DOM似乎还没有准备好。varmyApp=angular.module('myApp',[]);myApp.factory("ScrollService",function(){return{scroll:function(id){console.log(document.getElementById(id));}};});functionMyCtrl($scope,ScrollService){$sco