草庐IT

this_key

全部标签

javascript - 如何在 this.props.children 中访问 React 对象的类名

在this.props.children中有一些子组件的React组件渲染方法中。如何获取每个child的组件(类)名称以区分它们?React.Children.map(this.props.children,function(child){//howcanIgettheclassnameofachildorsomeotheridentifier}) 最佳答案 警告:如果使用缩小,这将无法在生产中使用在ES6中,每个函数的名称都存储在属性function.name中所以你可以用importReactfrom'react'...get

javascript - 为什么 "this"在粗箭头函数定义中未定义?

这个问题在这里已经有了答案:MethodsinES6objects:usingarrowfunctions(6个答案)关闭6年前。首先我尝试了这个-constprofile={name:'Alex',getName:function(){returnthis.name;}};效果很好。现在我用粗箭头尝试了同样的事情。在那种情况下,“this”未定义。constprofile={name:'Alex',getName:()=>{returnthis.name;}};这给了我一个错误TypeError:Cannotreadproperty'name'ofundefined我了解到,粗箭头语

javascript - 为什么要在Component中写Object=Object才能在Angular中获取Object.keys?

在我的Angular模板中,我需要对象的键数。我在模板文件中写了{{Object.keys(myObj).length}}。但它会引发错误:ERRORTypeError:Cannotreadproperty'keys'ofundefined。然后我从互联网上得到了一个建议,所以我在我的组件中写了Object=Object并且它起作用了。我不明白这背后的哲学是什么。花括号中的其他表达式和语句在Angular模板中如何工作? 最佳答案 模板表达式上下文通常仅限于组件实例本身。因此,当您在{{}}中插入一个变量时,它实际上会查找底层组件实

javascript - Facebook 连接中的 API key 错误 (javascript sdk)

我正在尝试在网站上实现FacebookConnect。我正在尝试使用Facebok的JavascriptSDK。我是新手,不幸的是,FacebookWIKI中提供的大部分链接都已过时...返回404未找到。无论如何,我在结尾之前添加了这段代码:FB.init({appId:'12344',//myrealappidisherestatus:true,//checkloginstatuscookie:true,//enablecookiestoallowtheservertoaccessthesessionxfbml:false//parseXFBML});FB.login(functi

javascript - 为什么人们在许多 jQuery 插件中分配 $this = $(this) ?

我经常将其视为插件的第一行:$this=$(this);这只是为了提高效率,避免每次都获取jQuery对象吗? 最佳答案 缓存jQuery对象而不必在每次需要时都实例化它。 关于javascript-为什么人们在许多jQuery插件中分配$this=$(this)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6261684/

javascript - 为什么要创建一个值为 this 的变量

我在JavaScript中看到过很多这种情况,我确实记得找出原因,但我不记得答案了。我猜这与范围和在“类”外部调用的函数有关,但为什么要这样做(最好概述一个示例):functionmyClass(){varself=this;//...this.myArray=[];this.myFunc=function(){alert(self.myArray.length);};} 最佳答案 为了锁定变量作为closure的一部分.例如:MyClass.prototype.doStuff=function(){this.foundItems=

javascript - 为什么 `this` 在 ES6 箭头函数中不起作用?

这个问题在这里已经有了答案:ArrowFunctionsandThis[duplicate](5个答案)关闭7年前。这是我的代码:'usestrict';letobj={username:'HansGruber',hello:()=>'hello,'+this.username};console.log(obj.hello());但输出是:hello,undefined。我希望输出为:你好,HansGruber。我想我还没有理解箭头函数中的this。谁能给我一个明确的解释?

javascript - 除了执行 Object.prototype.hasOwnProperty.call(obj, key) 是否有 ES6+ 替代方案?

检查对象是否具有特定键的最可靠方法是:Object.prototype.hasOwnProperty.call(obj,key)这提供了一定的保证:如果key是obj的direct属性,它只会评估为true,即使obj没有通常的Object作为其原型(prototype)(例如,如果它是用constobj=Object.create创建的)(null)).但这是一口。在ES6或更高版本中是否有任何新的语法/方法(包括polyfillable或Babel可编译的“建议”)提供相同的保证,但以更好、更易读的方式? 最佳答案 我不知道这有

javascript - 在匿名内部使用 'this',IDE : potentially invalid usage

就最佳实践而言,下一个功能(实际有效)是否不好?IDE警告我'Potentiallyinvalidusageof'this'.ChecksforJavascript'this'tobeinthesameclosureoroutercontent.$(document).on('change','#select-all',function(){if(this.checked){$(this).closest('table').find('input[name="row-id"]').each(function(){this.checked=true;//Here})}else{$(thi

javascript - jQuery this.remove() -vs.- $ ('#id' .remove() 在 Internet Explorer (IE 9+)

为什么this.remove()在IE9+中不起作用?$('#nextButton1').on('click',function(){this.remove();//worksinallbrowsersbutIE9+});$('#nextButton2').on('click',function(){$('#nextButton2').remove();//worksinallbrowsers});JSFiddleliveversion 最佳答案 那是因为您正在使用并非所有浏览器都支持的ChildNode.remove()方法。th