我从轻量级django学习Backbone.js,我无法通过触发默认事件获得以下功能。
以下是我的按钮
的htmlvar Demo = React.createClass({
getInitialState:function(){
return {show:false};
},
onClick:function(){
this.setState({show:true});
},
render: function(){
return (
<div>
<div className="demo" onClick={this.onClick}>
Demo
{this.state.show?<Demosub />:null}
</div>
<div className="demo" onClick={this.onClick}>
Demo
{this.state.show?<Demosub />:null}
</div>
<div className="demo" onClick={this.onClick}>
Demo
{this.state.show?<Demosub />:null}
</div>
</div>
);
}
});
var Demosub = React.createClass({
render: function(){
return (
<div>Demo sub</div>
);
}
});
这是我的骨干观点
<script type="text/html" id="header-template">
<span class="title">Scrum Board Example</span>
<% if (authenticated ) { %>
<nav>
<a href="/" class="button">Your Sprints</a>
<a href="#" class="logout">Logout</a>
</nav>
<% } %>
</script>
每当我点击一个href按钮时 - 它似乎都没有在我的视图模型中触发注销功能。
我在其他地方出错了吗?
感谢,. KJ
答案 0 :(得分:0)
如果使用preventDefault(),则没有理由使用href。
<a class="button">Your Sprints</a>
但是如果你使用window.location =&#39; /&#39;为什么使用preventDefault。
对你的删除功能使用回调也很酷。
var callback = window.location = '/';
app.session.delete(callback);
在app.session.delete:
app.session.delete = function(callback) {
// do stuff
if(callback) {
callback();
}
}