草庐IT

vue组件强制刷新的方案

全部标签

javascript - 我可以使用 javascript 强制浏览器 "flush"任何未决的布局更改吗?

我有一个使用Javascript构建UI的库,由于涉及动态内容,我有时想将内容输出到浏览器,检查如何更改布局以支持此功能,然后根据结果执行不同的逻辑.例如:检测某些文本是否溢出并用省略号将其chop。通常我通过发布更改来实现这一点,然后使用window.setTimeout(0)等待布局更新并调用其余逻辑。这显然是次优的,因为不同的浏览器可能会实现一个太慢而无法防止闪烁的最小超时,或者会更快地使用大量CPU。理想情况下,我想更改DOM,然后强制布局同步更新并立即内联运行“修复”逻辑。有什么想法吗? 最佳答案 我的理解是读取任何CSS

javascript - 无法在 JQuery Ajax 返回时刷新 reCaptcha

我有一段时间试图让Ajax在JQueryAJAX回调上自动刷新。我有一个评论框,其中的消息在验证reCaptcha后立即发布,如果reCaptcha可以自动刷新,以防有人想在之后立即添加另一个评论,那就太好了。这是我的返回函数:$.post(url,formData,function(data){if(returnString.match(/^Error:/)){$("#interactionResults").html(data).show().fadeOut(6000);}elseif(postNumber==0){$('#newCommentDisplay').html(retu

javascript - 强制 keydown 事件每个 keyCode 只触发一次

情况:我有一个keydown处理程序和一个switch用于按下什么键,相当标准的东西,但是当任何键被按下时keydown事件重复触发(而不是仅在实际按下键时触发一次)。为什么是个问题:我想保持keydown监听器处于事件状态,即能够检测到同时按下多个键,但只有事件每keydown触发一次。我想根据按下和向上之间的时间为那个keyCode在keyup上做一些事情,但是由于多次触发,这个时间被搞砸了。我尝试过的:我目前保留了一个已关闭的keyCodes列表,并在我的keydown处理程序中检查它们如果keyCode在我的列表中,则防止默认行为发生。然而,该事件仍然经常触发,我担心这个解决方

javascript - 在 dangerouslySetInnerHTML 中从 onclick 调用 React 组件函数

React新手在这里。我有一个contenteditablediv,它有dangerouslySetInnerHTML作为child,因为我需要在运行时格式化用户输入的任何内容。在HTML中的特定范围内单击时,我想setState包含组件的变量之一。这能做到吗?如果不是,我应该如何更改我的结构?代码如下:updateText:function(){vartxt=$('#text_Box').text();if(txt.indexOf('@Name')>-1){txt=txt.replace('@Name',':Name');}this.setState({userText:txt});

javascript - Vue.js 访问父组件

我有一个具有此方法的子组件:getSubscriptions(){MessageService.subscriptions()this.$parent.loading=true;.then((data)=>{if(data.data.subscriptions==null){this.noSubscriptions=true;}else{this.subscriptions=data.data.subscriptions;}this.$parent.loading=false;}).bind(this);}所以我想在我的父组件中显示一个加载圆,我这样访问它:this.$parent.l

javascript - 为动态创建的组件添加事件绑定(bind)

我使用ViewContainerRef.createComponent()方法在app.component.ts中动态创建组件,该方法返回一个ComponentRef对象.letnewComponent:ComponentRef=this.filtersSection.createComponent(MyDateRangeComponent);我需要动态地向这个组件添加一个事件监听器,以便它监听onDateRangeChange事件并执行app中定义的dateRangeChanged(event)方法.component.ts组件。我最初在app.component.html中以这种方

javascript - Vue - 单击按钮提交表单

我有一个用户可以上传图片的组件,我还想添加一个删除图片的功能。我添加了一个删除当前图像的按钮,但问题是表单也被提交了,我想避免这种情况。我只需要删除当前图像(如果存在)。这是脚本:+Removeimageexportdefault{props:['imageSrc'],methods:{previewThumbnail:function(event){varinput=event.target;if(input.files&&input.files[0]){varreader=newFileReader();varvm=this;reader.onload=function(e){vm

javascript - 为什么 vue.js 不使用 moment.js 使用 datepicker 更新 dom

我正在vue.js中编写一个(非常)简单的日期选择器控件,使用moment.js来格式化和改变日期。我遇到的问题是,即使在我单击任一按钮时修改了组件中的日期实例,显示也不会更新。我已经尝试将其更改为一个简单的整数而不是日期实例,并且按预期工作(DOM已正确更新)这是我的源代码:App.jsVue.component("datePicker",{props:["value"],data:function(){return{selectedDate:moment(this.value)};},template:"<{{formattedSelectedDate}}>",meth

javascript - vuejs v2.0 向组件传递数据

我使用vue.js在Laravel5.3上构建了一个应用程序,我开始转向vue.js以使页面动态化。我在一个页面上完成了所有工作,所以想将其转换为一个组件,但在这样做之后我收到以下错误:[Vuewarn]:ErrorwhenrenderingcomponentatC:\xampp\htdocs\.......TypeError:Cannotreadproperty'nxt_weekly'ofundefined我像这样将数据传递给View:constapp=newVue({el:'#app',mounted:function(){this.fetchEvents();},data:{lo

javascript - 使用 JSON.stringify 时强制浮点值

我想在JSON.stringify()之后强制一个Number成为一个Float。不幸的是,JSON.stringify()删除了1.0。示例:JSON.stringify(1.0)//"1"想要的结果:JSON.stringify(1.0)//"1.0"我使用的API需要JSON格式的对象,但它只能理解十进制值。所以我想问一下是否可以使用JSON.stringify生成具有十进制值的字符串而不使用Regex-.replace-magic 最佳答案 对您的问题的直接且合理的简短回答是否,您不能使用JSON.stringify自定义数