小编Max*_*s S的帖子

React:在组件函数中未定义"this"

class PlayerControls extends React.Component {
  constructor(props) {
    super(props)

    this.state = {
      loopActive: false,
      shuffleActive: false,
    }
  }

  render() {
    var shuffleClassName = this.state.toggleActive ? "player-control-icon active" : "player-control-icon"

    return (
      <div className="player-controls">
        <FontAwesome
          className="player-control-icon"
          name='refresh'
          onClick={this.onToggleLoop}
          spin={this.state.loopActive}
        />
        <FontAwesome
          className={shuffleClassName}
          name='random'
          onClick={this.onToggleShuffle}
        />
      </div>
    );
  }

  onToggleLoop(event) {
    // "this is undefined??" <--- here
    this.setState({loopActive: !this.state.loopActive})
    this.props.onToggleLoop()
  }
Run Code Online (Sandbox Code Playgroud)

我想loopActive在切换时更新状态,但是this在处理程序中未定义对象.根据教程文档,我this应该参考该组件.我错过了什么吗?

this reactjs

121
推荐指数
4
解决办法
8万
查看次数

使用NodeJS将文件上载到Amazon S3

我在尝试将文件上传到S3存储桶时遇到了问题.除了我的文件参数看起来不合适之外,一切都有效.我正在使用Amazon S3 sdk从nodejs上传到s3.

这些是我的路线设置:

var multiparty = require('connect-multiparty'),
    multipartyMiddleware = multiparty();
app.route('/api/items/upload').post(multipartyMiddleware, items.upload);
Run Code Online (Sandbox Code Playgroud)

这是items.upload()函数:

exports.upload = function(req, res) {
    var file = req.files.file;
    var s3bucket = new AWS.S3({params: {Bucket: 'mybucketname'}});
    s3bucket.createBucket(function() {
        var params = {
            Key: file.name,
            Body: file
        };
        s3bucket.upload(params, function(err, data) {
            console.log("PRINT FILE:", file);
            if (err) {
                console.log('ERROR MSG: ', err);
            } else {
                console.log('Successfully uploaded data');
            }
        });
    });
};
Run Code Online (Sandbox Code Playgroud)

Bodyparam 设置为字符串就"hello"可以了.根据doc,Bodyparam必须采用 (Buffer,Typed Array,Blob,String,ReadableStream)对象数据.但是,上载文件对象失败,并显示以下错误消息:

[Error: Unsupported …
Run Code Online (Sandbox Code Playgroud)

multipartform-data amazon-s3 node.js

55
推荐指数
6
解决办法
9万
查看次数

从firebase auth控制台删除所有用户

有没有简单的方法从firebase控制台删除所有注册用户?例如,我从我的开发环境创建了一百个用户,现在我想删除所有用户.

firebase firebase-authentication firebase-console

39
推荐指数
9
解决办法
2万
查看次数

如何只找到可以在手机上播放的视频?

YouTube数据API是否仍然不支持此功能?我已经试图找到一种方式已经超过几个月了,并且似乎没有一种可靠的方法来检索可以绝对播放的视频列表而不受某些设备的限制.来自参与团队的人的回答将非常感激.

Youtube API:可在移动设备上播放的搜索视频可能是相关的,但我怀疑这种方法是否可用于解决"内容拥有者禁止在此平台上播放此视频"类型的限制.

更新: 2015年11月7日,仍然无法过滤可在移动设备上播放的视频.更具体地说,我想使用YouTube数据api v3找到可在嵌入式iFrame(例如iOS帮助程序库)上播放的视频.此处列出了搜索查询的可用参数.

youtube-api youtube-data-api

35
推荐指数
1
解决办法
842
查看次数

如何获取现有YouTube播放器的参考?

<iframe width="560" height="315" src="//www.youtube.com/embed/M7lc1UVf-VE" frameborder="0" allowfullscreen></iframe>

关于使用上述源代码嵌入YouTube视频时会发生什么,我有几个问题.该代码应生成一个YouTube播放器对象,以用户喜欢的方式处理视频.当我使用Youtube Player API(而不是使用嵌入代码)自己生成Youtube播放器时,我可以在其上调用调用函数.

var player;
function onYouTubeIframeAPIReady() {
  player = new YT.Player('player', {
    height: '390',
    width: '640',
    videoId: 'M7lc1UVf-VE',
    events: {
      'onReady': onPlayerReady,
      'onStateChange': onPlayerStateChange
    }
  });
}

//player.playVideo(); will play the video.
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何控制嵌入代码生成的播放器对象?换句话说,从http://www.youtube.com/watch?v=M7lc1UVf-VE页面,如何通过调用来播放视频SOMEPlayer.playVideo()?当你转到网址时,ytplayer对象可用,但它似乎不包含必要的功能.

这个问题可能与重复.

javascript youtube iframe youtube-api

23
推荐指数
3
解决办法
3万
查看次数

在Heroku上免费运行延迟的工作

是否可以免费在Heroku上运行延迟的工作?

我正试图delayed_job_active_record在Heroku 上使用.然而,它需要一个worker dyno,如果我把这个dyno打开全职,它会花钱.

我认为使用Unicorn并使其工作人员延迟工作而不是Heroku工作人员,在成功运行所有工作的同时不会花费任何成本.但是,Unicorn工作人员似乎并没有自动开始"工作".

我的Procfile中有以下内容.

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
worker: bundle exec rake jobs:work
Run Code Online (Sandbox Code Playgroud)

和我的unicorn.rb中的以下内容

worker_processes 3
timeout 30
preload_app true

before_fork do |server, worker|
  # Replace with MongoDB or whatever
  if defined?(ActiveRecord::Base)
    ActiveRecord::Base.connection.disconnect!
    Rails.logger.info('Disconnected from ActiveRecord')
  end

  # If you are using Redis but not Resque, change this
  if defined?(Resque)
    Resque.redis.quit
    Rails.logger.info('Disconnected from Redis')
  end

  sleep 1
end

after_fork do |server, worker|
  # …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku delayed-job

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

Meteor:使用Sessions和ReactiveVar

你何时应该使用SessionReactiveVar?我使用Session变量作为组件之间的通信媒介.我们来看看Stackoverflow.

在此输入图像描述

我标记了三个假设的组成部分.我们来看看filters组件.如果单击,TagsMain组件将根据您最喜欢的标签显示其问题.为此,我将Session.set("Main/showTags", true)Tags单击按钮时进行设置.在Main组件中,我将有一个如下的辅助函数:

Template.Main.helpers({
  posts: function() {
    var isTags = Session.get("Main/showTags");
    var isQuestions = Session.get("Main/showQuestions");
    ...
    if (isTags) {
      return Posts.find().sort({tags: 1}) // or something along the lines
    } else if (isQuestions) ...
  }
});
Run Code Online (Sandbox Code Playgroud)

这在大多数情况下运作良好,但我从许多地方看到我应该避免使用Session和使用ReactiveVar.但如果我ReactiveVar到处使用,那么我需要对所有模板实例的引用.我希望它在直接父模板和子模板之间运行良好(例如,在主要组件内部,可能会有VoteAnswerViewsButtonTemplate),但是ReactiveVar当你想要独立组件相互通信时,你会怎么做?

这是我的最后一个问题.如何正确使用SessionReactiveVar保持组件的范围并使它们彼此通信?另外,如果我使用Session现在的方式,我是否不必要地污染全局命名空间?

相关文件:

  1. https://dweldon.silvrback.com/scoped-reactivity
  2. https://www.discovermeteor.com/blog/reactivity-basics-meteors-magic-demystified/

meteor

17
推荐指数
2
解决办法
6664
查看次数

以编程方式关注webview中的表单(WKWebView)

UIWebView可以使用以下内容:

[webView setKeyboardDisplayRequiresUserAction:NO]
Call some JS function
Run Code Online (Sandbox Code Playgroud)

WKWebView相反,如何在webview中执行相同的操作?

相关:如何让UIWebView专注于表单输入并调出键盘?

webview ios

14
推荐指数
6
解决办法
7753
查看次数

隐藏嵌套div的滚动条,但仍然可以滚动

是我使用的一个参考,它解释了如何使div的滚动条隐藏可滚动.唯一的区别是我有嵌套的div.检查我的小提琴

HTML:

<div id="main">
    <div id="sub-main">
        <div id="content">
            <div id="item-container">
                <div class="item">a</div>
                <div class="item">b</div>
                <div class="item">c</div>
            </div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

#main {
    width: 500px;
    height: 500px;
}

#sub-main {
    width: 500px;
    height: 500px;
    overflow: hidden;
}

#content {
    background-color: red;
    width: 500px;
    height: 500px;
    overflow: auto;
}

#item-container {
    width: 1500px;
    height: 500px;
}

.item {
    width: 500px;
    height: 500px;
    font-size: 25em;
    text-align: center;
    float: left;
}
Run Code Online (Sandbox Code Playgroud)

像上面一样,我有一个溢出的水平div,我想隐藏它的滚动条.我必须使它仍然可滚动,$.scrollTo()否则将无法工作.

更新:

我已经阅读了所有的答案,但我仍然没有解决我的问题,也不知道是什么导致了它.这是有麻烦的生活.基本上,我试图遵循几乎完全相同,但必须有一些原因,我的网站没有按预期工作.有两个问题.

  1. 当我设置overflow: hidden …

html javascript css scroll

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

如何修改Android应用程序的HTTP请求标头?

有没有办法捕获从我的应用程序发送的所有HTTP请求,并在发送之前修改它们的标头?我想修改它们的referer标题,以便发送请求的服务器认为它们来自Web浏览器而不是移动应用程序.谢谢!

更新:为了给您更多上下文,我打算使用Phonegap 将Chrome扩展程序Instant Music移植到Android应用程序中.一些允许在PC上播放的YouTube视频不允许在手机上播放,我怀疑这是因为嵌入在Android应用中的youtube播放器没有引用标头.我正在尝试找到解决此问题的方法,以便我也可以在移动设备上播放此类视频.

android http

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