假设我有一个具有条件渲染的视图组件:
render(){
if (this.state.employed) {
return (
<div>
<MyInput ref="job-title" name="job-title" />
</div>
);
} else {
return (
<div>
<MyInput ref="unemployment-reason" name="unemployment-reason" />
<MyInput ref="unemployment-duration" name="unemployment-duration" />
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
MyInput看起来像这样:
class MyInput extends React.Component {
...
render(){
return (
<div>
<input name={this.props.name}
ref="input"
type="text"
value={this.props.value || null}
onBlur={this.handleBlur.bind(this)}
onChange={this.handleTyping.bind(this)} />
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
让我们说employed
是真的.每当我将其切换为false而另一个视图呈现时,只会unemployment-duration
重新初始化.还会unemployment-reason
预先填充值job-title
(如果在条件更改之前给出了值).
如果我将第二个渲染例程中的标记更改为如下所示:
render(){
if (this.state.employed) {
return (
<div>
<MyInput ref="job-title" name="job-title" />
</div>
); …
Run Code Online (Sandbox Code Playgroud) 我有这个功能:
function block_scroll(key){
if (key) {
$(window).bind("scroll", function(){
$('html, body').animate({scrollTop:0}, 'fast');
});
} else {
$(window).unbind();
}
}
Run Code Online (Sandbox Code Playgroud)
第一部分按原样运行,但是当我稍后调用block_scroll(false)时 - 它仍然阻塞.笏呢?
重新编辑 所以我试过......
$(window).unbind("scroll");
Run Code Online (Sandbox Code Playgroud)
......有些困惑.起初它没有用 - 然后它起作用了.
现在我认为它失败了因为我在滚动的时候调用了block_scroll(false).我现在已经多次测试了这个.是的,如果我在脚本运行时没有做任何事情并且调用了block_scroll(false) - 它确实有效.但是,如果我在调用它时滚动它就不会.
我通过Youtube iFrame API在视频上设置质量设置时遇到了一些问题.这是我的代码:
var player;
player = new YT.Player('player', {
height: '490',
width: '725',
videoId: yturl,
/* setPlaybackQuality: 'hd720', <-- DOES NOT WORK */
/* suggestedQuality: 'hd720', <-- DOES NOT WORK */
events: {
'onReady': onPlayerReady
}
});
function onPlayerReady(event) {
player.setPlaybackQuality('hd720'); // <-- DOES NOT WORK
event.target.setPlaybackQuality('hd720'); // <-- DOES NOT WORK
player.setVolume(100); // <-- DOES WORK
console.log(player.getPlaybackQuality()); // <-- Prints 'small' to console
event.target.playVideo();
}
Run Code Online (Sandbox Code Playgroud)
有趣的是,我的呼吁player.setPlaybackQuality
或event.target.setPlaybackQuality
没有给出任何错误.它看起来好像玩家忽略了它.例如,对player.setSuggestedQuality
(不存在的函数)的调用会按预期引发错误.
我已经尝试了API参考中所述的所有有效字符串参数('medium','large','hd720'等).他们都没有工作.
任何人对我应该如何设置这个属性有任何建议?
我正在通过Grunt在端口9000上本地运行node.js服务器.我还有一个运行的虚拟机(vmware),但我无法通过它访问节点服务器.我已经将VM配置为通过localhost访问主机上的Apache服务器,但是:9000给出了'not found'.
有人知道怎么做吗?
我正在用C编写一个小应用程序来读取一个简单的文本文件,然后逐个输出这些行.问题是文本文件包含特殊字符,如Æ,Ø和Å等.当我在终端中运行程序时,这些字符的输出用"?"表示.
有一个简单的解决方案吗?
我在将RubyGems从1.1.1版更新到最新版时遇到了困难.我尝试过以下方法:
宝石更新
结果:
更新已安装的gems
批量更新Gem源索引:http://gems.rubyforge.org/
无需更新
和
gem install rubygems-update
结果:
批量更新Gem源索引:http://gems.rubyforge.org/
批量更新Gem源索引:http
://gems.rubyforge.org/错误:安装rubygems-update时出错:
rubygems-update需要构建器(> = 0)
和
gem install rubygems-update update_rubygems
结果:
批量更新Gem源索引:http://gems.rubyforge.org/
批量更新Gem源索引:http
://gems.rubyforge.org/错误:安装rubygems-update时出错:
rubygems-update需要构建器(> = 0)
错误:无法在本地或存储库中找到update_rubygems
然后我检查,如建议的theIV上类似的问题,我是否有http://gems.rubyforge.org/在我的远程数据源.这是宝石环境:
RubyGems环境:
- RUBYGEMS版本:1.1.1
- RUBY版本:1.8.6(2008-08-11 patchlevel 287)[universal-darwin9.0]
- 安装目录:/ Library/Ruby/Gems /1.8
- RUBY EXECUTABLE:/系统/库/框架/ Ruby.framework/Versions/1.8/usr/bin/ruby
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-9
- GEM路径:
-
/ Library/ Ruby/Gems/1.8 - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
- GEM CONFIGURATION:
- …
var slides = $(".promo-slide");
slides.each(function(key, value){
if (key == 1) {
this.addClass("first");
}
});
Run Code Online (Sandbox Code Playgroud)
为什么我会收到错误说:
Uncaught TypeError: Object #<HTMLDivElement> has no method 'addClass'
Run Code Online (Sandbox Code Playgroud)
从上面的代码?
我发现选择的Twitter Bootstrap的下拉列表非常难看,如何仅为select小部件停用Bootstrap?或者是否可以自定义选择下拉列表的方式?
我需要将"HH:MM:SS"格式的当前时间转换为字符数组(字符串),以便稍后我可以输出结果 printf("%s", timeString);
我对btw timeval
和time_t
类型很困惑,所以任何解释都很棒:)
编辑:所以我尝试使用strftime等,它有点工作.这是我的代码:
time_t current_time;
struct tm * time_info;
char timeString[8];
time(¤t_time);
time_info = localtime(¤t_time);
strftime(timeString, 8, "%H:%M:%S", time_info);
puts(timeString);
Run Code Online (Sandbox Code Playgroud)
但输出是这样的:"13:49:53a ?? J`aS?"
最后" a ?? J`aS? "发生了什么?
我试图在运行时通过require.context
我的 CRA(使用 Typescript)项目执行一些要求,但我只收到以下类型的错误:
TypeError: __webpack_require__(...).context 不是函数
和
关键依赖:require函数的使用方式无法静态提取依赖
我在某处读到这现在需要通过 Babel 或cra-rewired
. 好吧,我已经在使用 Craco 来启用 Less-support,但我不知道如何添加require.context
到我的 Craco 配置中。
有人知道怎么做吗?
更新:这就是我调用 require.context 的方式:
const packagesDirectory = path.join(__dirname, '../../../../packages');
const textDataContext = require.context(packagesDirectory, true, /(\w+)\.(\w+)\.(mdx?)/);
Run Code Online (Sandbox Code Playgroud)
更新 2:
正如该线程中的一些评论所暗示的那样,我尝试babel-plugin-require-context-hook
像这样添加到我的应用程序中:
// craco.config.js
const CracoLessPlugin = require('craco-less');
module.exports = {
plugins: [
{plugin: CracoLessPlugin}
],
babel: {
plugins: ['require-context-hook']
}
};
Run Code Online (Sandbox Code Playgroud)
然后我试过这样打电话require.context
:
// myfile.js
import registerRequireContextHook from 'babel-plugin-require-context-hook/register';
registerRequireContextHook();
const packagesDirectory = path.join(__dirname, …
Run Code Online (Sandbox Code Playgroud)