草庐IT

ES条件查询

全部标签

javascript - 在 Redux 中使用 ES6 类

我正在从事一个项目,该项目将来自一个端点的大量数据导入到单个reducer中。我想在ES6类中转换该数据,这样我就可以为它们提供辅助方法,提供数据之间的关系,而不必一直使用普通的javascript对象。此外,为了获得数据之间的关系,我必须进行n平方计算,这会减慢前端速度。这是我看到的选项:1)创建一个与redux存储连接的选择器。这个选择器可以从reducer中获取数据并将其转换为我定义的多个ES6类。如果reducer获得不同的新数据,则选择器将重新创建ES6类实例化。2)https://github.com/tommikaikkonen/redux-orm这看起来也很棒。3)在数

javascript - 在计算属性中使用条件逻辑无法更新

我有两个fiddle:A,B(使用Vuejs2.2.4)我有一个可以通过编程方式更改的计算属性(我正在使用get和set方法)。期望:如果默认参数更改(this.message),则计算属性(computedMessage)必须更改(默认行为)。如果次要参数发生变化(this.messageProxy),那么计算属性必须反射(reflect)次要参数。FiddleA按预期工作,但FiddleB没有。错误:默认行为(第1点)在辅助参数更改后停止。fiddles之间的唯一区别是计算属性中的console语句。背景:我试图以编程方式设置一个computed属性。computed属性设置如下:

javascript - jQuery $.each 方法中的 ES6 模板文字

是否可以在jQuery的$.each方法中使用ES6模板文字?尝试这样做,但没有成功:letarr=this.arr;$.each($("g#texts").children(),function(i,contents){$("#`${contents.id}`tspan").text(arr.find(a=>a.name=="`${contents.id}`").displayedName);})这里应该纠正什么? 最佳答案 这当然是可能的。您遇到的问题是因为您已将模板文字放在字符串文字中。第二个模板文字也是多余的。如果您修复语法

javascript - ES6 箭头函数和函数内的词法作用域

这个问题在这里已经有了答案:MethodsinES6objects:usingarrowfunctions(6个答案)Are'ArrowFunctions'and'Functions'equivalent/interchangeable?(4个答案)关闭4年前。leta=()=>({name:"Anna",func:()=>console.log(this.name)})letb=()=>({name:"Brian",func:function(){console.log(this.name)}})letc=function(){return({name:"Charlie",func:

ES调试与优化工作笔记

本文主要涉及关于elastcisearch关于内存,mapping,查询语句,系统性能查看方面基本的内容和一些调试方法的整理和收集。参考阅读官方关于index性能优化方案https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-indexing-speed.html官方关于search性能优化方案https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-search-speed.html官方关于mapping设置的一些限

javascript - 如何在 ES6 中使用类扩展对象?

我正在尝试清理我的ES6类定义,我现在有这样的代码:classSomeClass{constructor({a,b,c,d,e}){this.a=a;this.b=b;this.c=c;this.d=d;this.e=e;//somecodeshere}//somemethodshere..}此代码扩展了传递给构造函数的所有内容。我是这样使用的:varobj=newSomeClass({a:1,b:2,c:3,d:4,e:5});当我想改变传递给构造函数的参数时,例如:varobj=newSomeClass({a:1,b:2,c:3,d:4,e:5,f:6});我希望obj.f为6。如

javascript - 如何在 Rails 中执行 AJAX-y 条件显示/隐藏表单字段?

我想在Rails的表单中显示或隐藏一些字段,具体取决于表单中选择字段的状态。我(目前)不需要对字段进行第二次数据库查找,因此我试图将其全部限制在View中。我已经勾勒出大纲,但我在实现细节方面遇到了一些麻烦。我最初的想法是使用observe_field并调用Element.show等等,但后来我不得不编写一个Javascript条件。这可能必须奏效,但我想尽可能避免它。另一种方法是使用observe_field请求RJS模板,并使用replace_html插入字段。还不错,但由于我使用的是form_forblock,所以我要么必须通过RJS模板一直传递表单实例才能正确完成。我还可以在每

javascript - ES5 有对应的 __lookupGetter__ 吗?

我知道Object.defineProperty很有趣,可以很好地替代__defineGetter__和__defineSetter__非标准API,但是是否有类似的对应物对于__lookupGetter__?或者以某种方式实现类似的目标? 最佳答案 我不确定__lookupGetter__语义,但ES5提供了一个新的APIObject.getOwnPropertyDescriptor,它为您提供了一个包含属性属性及其属性的描述符对象value或其get和/或set函数。例如。Object.getOwnPropertyDescrip

Javascript/jQuery XSS 潜在读取查询字符串

我的javascript从查询字符串中读取数据,并使用jQuery.val()将该数据放入文本框中。这工作正常,但我想知道这是否可以免受XSS攻击?假设查询字符串看起来像...site.com?q="javascript:alert(document.cookie)这会有效地做到:jQuery.val('"javascript:alert(document.cookie)')根据我在IE8/firefox中的测试,这会设置所见的输入值,但不会进行实际注入(inject)。如果我先在字符串上运行这个函数:functionhtmlEncode(str){returnstr.replace(

javascript - 检查多个或条件的更短方法

有没有更简单的方法来检查一个变量值与其他变量值的对比?目前我正在使用这样的代码:if(a[i]==a[i-13]||a[i]==a[i+13]||a[i]==a[i-1]||a[i]==a[i+1]){//mycode}现在,有没有更短的方法来做到这一点?我知道我可以使用switch,但是我不得不多次编写我的函数。有更简单的方法吗? 最佳答案 你不需要用一个开关多次编写你的函数:switch(a[i]){casea[i-13]:casea[i+13]:casea[i-1]:casea[i+1]://Thiscodewillrunif