草庐IT

weak_from_this

全部标签

javascript - React JS this.props.data 未在子组件的 getInitialState 中定义,即使它是在渲染中定义的(并且在父级中定义)

场景:在同一个祖父包装器(->)中重用组件(->)以实现代码重用。首先,我分配了一个数据数组并循环以重新使用子组件(->)。对于第二个,它只是一个对象(具有与数组对象相同的属性),我直接在渲染中分配它(不需要this.props.data.map循环,因为已经只有一个对象)。问题:对于阵列,一切都按要求工作。this.props.data传递给child,状态通过各种事件更新,一切都很好。然而,对于单个对象,在之前一切正常.即使this.props.data包含有效值并正确分配给child组件,在的getInitialState,它莫名其妙地未定义(或设置为的getInitialSta

javascript - D3 : Get nearest value from ordinal axis on mouseover

在我的D3折线图中,我尝试创建一个鼠标悬停效果,如本例所示:http://bl.ocks.org/mbostock/3902569在这个例子中,作者使用了平分线函数,据我所知,它只支持线性比例。问题是,在我的图表中,我有一个带有不同离散rangePoint元组的序号x轴。因此,如果像下面的情况(m=鼠标位置),我想获得最接近的x值的像素位置,在本例中为x2。m|x1----------x2----------x3有什么办法吗? 最佳答案 使用您的链接示例,这里是用于序号比例的mousemove函数的快速实现:vartickPos=x

javascript - React - 当从 API 获取数据时,this.state 在 render 中为 null

我试图通过制作一个简单的应用程序来学习react,我试图从服务器获取json格式的数据,然后将其呈现给View。问题是我收到一个错误,它说this.state.data为空。我该如何解决这个问题?代码:classAppextendsReact.Component{constructor(){super();//Querydatafetch('http://localhost:8080/api?access_token=56d847accb86bddc243d4b93').then(response=>response.json()).then((data)=>{this.setStat

javascript - axios 并发请求数 : any way to get the results from the successful requests even if some have failed?

我正在尝试了解如何在javascript中处理并发异步请求,您是否知道使用axios获取成功请求结果的方法,即使请求失败了?如果不是,您将如何处理这种情况?varaxios=require('axios')varoptions=[{baseURL:'https://some-base-url',url:'/some-path&key=some-key',method:'post',data:'some-data'},{baseURL:'https://some-base-url',url:'/some-path&key=some-key',method:'post',data:'som

javascript - 在 Typescript 中为 `this` 关键字键入注释

我有一个独立函数,旨在使用Function.prototype.call提供的上下文。例如:functionfoo(){returnthis.bar;}>foo.call({bar:"baz"})baz有没有办法在这种情况下为this关键字提供Typescript类型注释? 最佳答案 首先,你可以使用特殊的thisparameter用于识别您期望的对象类型的语法this成为:functionfoo(this:{bar:string}){returnthis.bar;//nomoreerror}如果你直接调用它会有帮助:foo();/

javascript - node.js 和浏览器之间关键字 "this"的不同行为

我已经尝试在ie、firefox和node.js中使用以下代码varx=10;varo={x:15};functionf(){console.log(this.x);}f();f.call(o);在浏览器中的结果是10、15,但是在node.js中的结果是undefined,15。请向我解释一下“this”关键字在浏览器和node.js中的不同行为是什么?我已经阅读了很多页面,但没有任何明显的答案。提前致谢。 最佳答案 在Nodejs中加载的Javascript文件会自动包装在匿名函数中。所以在Node中你真正运行的是:(funct

javascript - 可以在 RequireJS 模块中使用 'this' 关键字吗?

我定义了一个RequireJS模块(见下文)。它是网站上每个页面都需要的功能的集合。返回对象中的一个函数initTwitter()需要调用同一对象中的另一个函数shortenURL()。我收到一个控制台错误,内容为“TypeError:this.shortenURLisnotafunction.”所有这些函数最初都在一个常规的Javascript单例对象中,代码运行良好。我是RequireJS的新手,所以我不确定this关键字在RequireJS中的工作方式是否不同,或者我只是做错了什么。编辑:我也尝试删除“this”,但我收到“ReferenceError:shortenURLisn

javascript - this.initialize(arguments) 与 this.initialize.apply(this, arguments) : what's the difference?

如果您查看Backbone.js的源代码,您会看到此模式的多种用途:this.initialize.apply(this,arguments);例如,这里:varRouter=Backbone.Router=function(options){options||(options={});if(options.routes)this.routes=options.routes;this._bindRoutes();this.initialize.apply(this,arguments);};为什么不直接写this.initialize(arguments)呢?

javascript - this.route() 和 this.resource() 有什么区别?

我知道路由用于将URL映射到模板,但显然您可以使用this.route或this.resource定义路由App.Router.map(function(){this.route("about",{path:"/about"});this.route("favorites",{path:"/favs"});});App.Router.map(function(){this.resource('posts',{path:'/posts'},function(){this.route('new');});});如果您想为路线定义子路线,您是否只使用this.resource还是有其他我没有

javascript - "this"在构造函数中分配的函数中如何工作?

我找到了这个示例代码:functionpersonFullName(){returnthis.first+''+this.last;}functionPerson(first,last){this.first=first;this.last=last;this.fullName=personFullName;}vardude=newPerson("Michael","Jackson");alert(dude.fullName());这会提醒“MichaelJackson”。我将其更改为从构造函数调用personFullName而不是分配函数对象:functionpersonFullNa