[英]PreventDefault event not working in Backbone view
我正在從輕量級django中學習Backbone.js,並且無法從觸發默認事件中獲取以下功能。
下面是我的按鈕的HTML
<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>
這是我的骨干觀點
var HeaderView = TemplateView.extend({
tagName: 'header',
templateName: '#header-template',
events: {
'click a.logout': 'logout'
},
getContext: function () {
return {authenticated: app.session.authenticated()};
},
logout: function (event) {
event.preventDefault();
console.log('clicked');
app.session.delete();
window.location = '/';
}
});
每當我單擊a href按鈕時,它似乎都不會觸發我的視圖模型中的注銷功能。
我在其他地方出錯嗎?
謝謝,。 J
如果使用preventDefault(),則沒有理由使用href。
<a class="button">Your Sprints</a>
但是,如果使用window.location ='/',為什么要使用preventDefault。
此外,將回調函數用於刪除功能可能很酷。
var callback = window.location = '/';
app.session.delete(callback);
在app.session.delete中:
app.session.delete = function(callback) {
// do stuff
if(callback) {
callback();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.