小编ena*_*upe的帖子

考虑堆叠层上下文如何处理javascript键绑定?

让我说我有<body>一个full modal打开.按[ESC]键可关闭此模态.在此范围内full modal,用户可以打开另一个较小的模态,也可以通过按[ESC]键关闭.你如何处理[ESC]键并关闭'更高'层,阻止按键传播并关闭正在收听按键的其他层?

我期待一个直接的答案,使用preventDefault或类似的东西..我不打算设置某种服务,在决定应该关闭哪一层之前进行许多检查..对我来说,这件事应该有点像点击事件,向上传播.这可行吗?

html javascript css keyboard dom

10
推荐指数
1
解决办法
174
查看次数

react-native自定义依赖项上的环境变量

我的项目有一个节点依赖,它依赖于要设置的环境变量,代码很简单const KEY = process.env.SOME_KEY.我知道react-native不支持传统的环境变量.

有什么可以满足这种需求并使此代码有效?假设我无法控制依赖项的代码.

environment-variables react-native

10
推荐指数
1
解决办法
760
查看次数

immutable.js过滤和mutate(删除)找到的条目

我有两个循环,一个月的每一天,另一个与本月的所有事件.假设我有10万个事件.我正在寻找一种方法,List一旦它们被"消耗",就从主要事件中删除事件.

代码类似于:

const calendarRange = [{initialDate}, {initialDate}, {initialDate}, {initialDate}, ...] // say we have 30 dates, one for each day
const events = fromJS([{initialDate}, {initialDate}, {initialDate}, ...]) // let's say we have 100 000
calendarRange.map((day) => {
  const dayEvents = events.filter((event) => day.get('initialDate').isSame(event.get('initialDate'), 'day')) // we get all events for each day 
  doSomeThingWithDays(dayEvents)
  // how could I subtract `dayEvents` from `events` in a way
  // the next celandarRange iteration we have less events to filter? 
  // the order …
Run Code Online (Sandbox Code Playgroud)

javascript optimization logic immutable.js

9
推荐指数
1
解决办法
3897
查看次数

CORS HEADERS仅在预检或每次请求时出现

我不清楚CORS头(Access-Control-Allow-Origin等)是否只应出现在预检请求(OPTIONS方法)上,或者还存在于资源头(我正在尝试使用XHR 进行POST)中

我问这个,因为我安装了一个Python插件,它只会增加的处理CORS CORS头到OPTIONS方法(预检),而不是所请求的资源,这种做法并不解决在Chrome和Firefox的CORS问题,返回的消息喜欢

跨源请求已阻止:同源策略禁止在[URL]处读取远程资源.这可以通过将资源移动到同一域或启用CORS来解决.

编辑:

我还在http://www.html5rocks.com/en/tutorials/cors/上找到了更多信息,其中说:

Access-Control-Allow-Origin(必需) - 此标头必须包含在所有有效的CORS响应中; 省略标头将导致CORS请求失败.标头的值可以回显Origin请求标头(如上例所示),也可以是'*'以允许来自任何源的请求.如果您希望任何网站能够访问您的数据,使用'*'就可以了.但是,如果您希望更好地控制谁可以访问您的数据,请在标题中使用实际值.

html cors

7
推荐指数
2
解决办法
1394
查看次数

在react render方法中定义新功能的实际成本是多少?

我试图澄清在react的render方法中有一个新函数声明的优点/缺点。

考虑如下的渲染方法:

  render () {
    return (<SomeComponent somePropWithoutEventBind={() => console.log('not so dangerous?')} />)
  }
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,somePropWithoutEventBind不绑定到DOM事件:react将检查prop的更改,并且每次调用render时,此prop均已更改-因为它是一个新函数-因此它与以前的函数永远不匹配,这很昂贵,但没什么大用处。

现在在这种情况下

  render () {
    return (<input onChange={() => console.log('dangerous?')} />)
  }
Run Code Online (Sandbox Code Playgroud)

的onChange prop 并绑定到DOM(做这样的事情addEventListener),因此每一个渲染将不得不removeEventListener和addEventListener一次吗?这是避免在render方法内声明函数的主要原因吗?

如果可能,请说明您的答案以指向源代码。

reactjs

5
推荐指数
1
解决办法
485
查看次数

ElasticSearch 字段提升

我有以下ElasticSearch DSL查询

query = Q("bool", should=[
    Q("match_phrase", title=term),
    Q("match_phrase", description=term),
    Q("match_phrase", name=term),
    Q("match_phrase", some_other_field=term),
])
Run Code Online (Sandbox Code Playgroud)

我想在term比赛name场上提高分数,也想在比赛场上降低分数description。

我尝试过很多事情,例如:

Q("match_phrase", description={'query': term, boost: '0.1'}),
Run Code Online (Sandbox Code Playgroud)

或者

Q("match_phrase", name={'query': term, boost: 10}),
Run Code Online (Sandbox Code Playgroud)

但无法使其发挥作用。我还尝试将“should”与“must”等结合起来,但没有走得太远——甚至不值得分享。有没有一种简单的方法可以做到这一点,而无需重新索引/重新评分我的所有文档?使用 ES 查询(而不是 ES-DSL)的答案也会有帮助。

python django elasticsearch

4
推荐指数
1
解决办法
7395
查看次数

AngularJS DRY控制器结构

下面的代码表示在处理来自服务器的数据的每个控制器中重复相同代码模式的情况.经过长时间的研究和#angularjs的irc谈话,我仍然无法想象如何抽象代码,内联注释解释了这些情况:

myApp.controller("TodoCtrl", function($scope, Restangular,
                                      CalendarService, $filter){
    var all_todos = [];
    $scope.todos = [];
    Restangular.all("vtodo/").getList().then(function(data){
        all_todos = data;
        $scope.todos = $filter("calendaractive")(all_todos);
    });
    //I can see myself repeating this line in every 
    //controller dealing with data which somehow relates
    //and is possibly filtered by CalendarService:
    $scope.activeData = CalendarService.activeData;
    //also this line, which triggers refiltering when
    //CalendarService is repeating within other controllers
    $scope.$watch("activeData", function(){
        $scope.todos = $filter("calendaractive")(all_todos);
    }, true);

});

//example. another controller, different data, same relation with calendar?
myApp.controller("DiaryCtrl", function($scope, Restangular,
                                       CalendarService, …
Run Code Online (Sandbox Code Playgroud)

controller dry angularjs restangular

3
推荐指数
1
解决办法
1435
查看次数

TypeScript 构建到单个文件中,其中包含所有外部依赖项(node_modules)

是否可以将 TS 源构建到单个文件中,该文件还包含node_modules导入包的源?

这在无服务器项目中非常有用。我之前在一个非 TS 项目上做过这个,但使用的是 webpack(出于另一个原因)。

以前这似乎是可能的,但由于错误https://github.com/Microsoft/TypeScript/issues/13414?

node.js typescript

2
推荐指数
1
解决办法
1139
查看次数

AWS SQS Node.js script does not await

Trying to send several messages (from AWS SQS lambda, if that matters) but it's never waiting for the promises.

function getEndpoint(settings){
    return new Promise(function(resolve, reject) { 
    // [...] more stuff here
}
Run Code Online (Sandbox Code Playgroud)

Which is then called in a loop:

exports.handler = async (event) => {
    var messages = [];
    event.Records.forEach(function(messageId, body) {
        //options object created from some stuff
        messages.push(getEndpoint(options).then(function(response){
            console.log("anything at all"); //NEVER LOGGED
        }));
    });
    await Promise.all(messages);
};
Run Code Online (Sandbox Code Playgroud)

But the await seems to be flat out skipped. I'm not …

amazon-sqs node.js async-await aws-lambda

0
推荐指数
1
解决办法
369
查看次数