【发布时间】:2016-07-16 00:17:21
【问题描述】:
我正在尝试根据 Session 变量是 true 还是 false 在活动和非活动按钮之间切换。
在子组件上,我声明了 Session 变量:
choice(e){
e.preventDefault();
...
Session.set("upNext", true);
...
};
然后,在父组件上,我将这段代码放在 render(){} 函数中:
render(){
let upNext;
if(Session.get("upNext")){
upNext = <button className="ui right huge labeled icon primary button" onClick={this.nextPosition.bind(this)}><i className="right arrow icon"></i>Next</button>
} else{
upNext = <button className="ui right huge labeled icon primary button disabled" onClick={this.nextPosition.bind(this)}><i className="right arrow icon"></i>Next</button>
}
return(
<div className="ui container">
{upNext}
</div>
}
最后,在 componentWillMount() 方法中,我将 Session 变量设置为 false 以在下一个组件加载之前重置。
Session 变量触发,从 false 变为 true,但第一个条件(如果 Session.get 等于 true)中的代码永远不会运行。使用 Blaze 时从未发生过这个问题,所以这里一定有一些我完全想念的东西。
【问题讨论】:
标签: meteor