草庐IT

reduce_by

全部标签

javascript - $scope 的方法通过 ng-click 调用 : executed twice by IE

在我的Controller中:$scope.homeAction=function(){console.log("HomeAction");};在我看来:callhomeAction()单击按钮时,Chrome和Firefox会按预期执行该方法,但IE会执行两次。知道为什么吗?这是一个重现问题的plunker:http://plnkr.co/edit/pedZKjIVGDAYfMl0ZphJ. 最佳答案 只需将type="button"添加到您的按钮,它就会被修复。默认行为是提交,这显然会扰乱您的代码。callhomeAction(

javascript - 如何访问 reducer (redux-router)中的当前位置?

我如何使用reducer中的redux-router获取当前路径和当前位置的查询。我可以使用mapStateToProps在组件内部轻松获取路径名,但我想访问reducer中的当前路径。我正在使用redux-router1.0.0-beta7,react-router1.0.3。 最佳答案 1.way-通过redux-thunk传递带有特定action的路径名和getState()constsomeAction=data=>(dispatch,getState)=>{dispatch({type:'SOME_ACTION',path

javascript - 传单绘制插件 : How to hide/show drawing tools by Layer Type dynamically

我在项目中使用绘图插件,我想知道如何按图层类型隐藏/显示绘图工具?例如,假设我有2个图层,其中一个类型是多边形,另一个是线。如果用户选择多边形层,我想隐藏画线工具。之后,如果用户选择线层,我想隐藏多边形绘图工具。我看过here但是这个例子使工具成为静态的,我想动态地改变。我该怎么做?我们将不胜感激。 最佳答案 我自己解决了。我在map初始化时添加了这个绘制控件。drawControl=newL.Control.Draw({draw:{position:'topleft',polygon:false,polyline:false,re

javascript - 带有 Mailgun 的 AJAX 函数,获取 "ERROR Request header field Authorization is not allowed by Access-Control-Allow-Headers"

我正在努力进行AJAX调用,该调用会命中MailgunAPI以发送电子邮件。Mailgun上的文档说发布请求应该发送到“https://api.mailgun.net/v3/domain.com/messages”。我已经包含了mailgun指定的apikey(他们指示使用用户名“api”)。由于这涉及CORS,我无法克服错误:Access-Control-Allow-Headers不允许请求header字段授权。但是,我检查了“网络”选项卡中的请求/响应,并且Mailgun响应中的“Access-Control-Allow-Origin”设置为“*”...这应该表明它应该允许它?(请

javascript - WebSockets : useful for reducing overhead?

我正在构建一个动态搜索(每次击键都会更新):我目前的方案是在每次击键时向服务器发送一个新的AJAX请求并以JSON格式取回数据。我考虑过为每个搜索“session”打开一个WebSocket以节省一些开销。我知道这会节省时间,但问题是,考虑到这些参数,这样做真的值得吗:80ms平均ping时间166毫秒:每次击键之间的时间,假设用户键入相对较快最坏情况下的传输速率为1MB/s,每次击键时必须接收的每个数据包不超过1KB。该应用还需要大约30-40毫秒才能将搜索结果焊接到DOM。我找到了这个:HTTPvsWebsocketswithrespecttooverhead,但这是一个不同的用例

javascript - 用于依赖状态切片的 Redux reducer/state-shape 设计

我喜欢Redux中的reducer组合的概念,但是遇到了这样一种情况,我喜欢将一个reducer分开,但是子reducer会依赖其他reducer的状态切片进行更改。例如在我的状态下,我需要跟踪以下内容:可能的排名范围(即[2,3,4,5,6])当前选择的排名(上述值之一)。根据所选级别,一系列可能的培训级别。关系是范围从[1..(selectedRank-1)]当前选择的培训级别在上述范围内最初,我有一个更大的reducer,它封装了所有这些方面:functionrankAndTraining(state={selectedRank:4,availableRanks:[2,3,4,5

javascript - 测试 angularjs Controller 时 - 找不到变量 : module/inject by chutzpah

我有angularJsControllerangular.module('App.ctrl.guests',[]).controller('guestsController',['$scope','$http','$location','$timeout','guestsService',function($scope,$http,$location,$timeout,guestsService){$scope.tiles=[];}])和Jasmine测试////////////'usestrict';describe('App.ctrl.guests',function(){vars

javascript - 测试 Redux 组合 reducer

假设我有几个reducer函数,我使用combineReducers(...)将它们全部组合到一个reducer中,有没有一种方法可以测试组合的reducer实际包含哪些reducer?例如,如果我有这个:import{combineReducers}from'redux'constreducer1=(state,action)=>{...}...(morereducers,etc)constrootReducer=combineReducers({reducer1,reducer2,reducer3})exportdefaultrootReducer我可以使用Mocha和Expect

javascript - 恩伯斯 : How to filter by more than one property at once

下面我确定是按单个属性进行过滤,但是如何一次性按另一个属性进行过滤?也就是说,不向用户提供包含不同搜索选项的下拉菜单示例:我的搜索词可能是姓名、电子邮件或年龄。varsearch=this.controllerFor('employees').search;//canbename,emailorageemployees=this.get('currentModel').filterProperty('name',search);上面的方法可以很好地更新主列表,但我一次只能按一个属性进行过滤。//SampleModelApp.Employee=DS.Model.extend({email

javascript - 如何在任意数量的链元素上使用 map 或 reduce 运行 promise-then 链?

我坚持以下几点:脚本返回任意数字n或数组,如下所示:[["a"],["b"],["c"],["d"]]我需要使用promisethen()遍历数组,但由于我不知道会有多少元素,所以我最终这样做了:varbundle_list=[["a"],["b"],["c"],["d"]];varx=bundle_list.reduce(function(current,next){console.log(current);//requestBundlewillalsoreturnapromisereturnrequestBundle(current).then(function(bundle_re