Backbone.js:将此coffeescript转换为jquery
我正在尝试学习如何使用backbone.js。问题是,我正在学习的Railscast教程使用的是coffeescript,而我更喜欢使用jquery。我知道如何将coffeescript中的函数更改为jquery,但我不知道如何更改路由的定义Backbone.js:将此coffeescript转换为jquery,backbone.js,Backbone.js,我正在尝试学习如何使用backbone.js。问题是,我正在学习的Railscast教程使用的是coffeescript,而我更喜欢使用jquery。我知道如何将coffeescript中的函数更改为jquery,但我不知道如何更改路由的定义 routes: '': 'index' 我应该用括号括起来吗?警报不起作用,所以我假设路线的定义有问题 这是最初的咖啡剧本 Backboner.Routers.Entries = Backbone.Router.extend
routes:
'': 'index'
我应该用括号括起来吗?警报不起作用,所以我假设路线的定义有问题
这是最初的咖啡剧本
Backboner.Routers.Entries = Backbone.Router.extend
routes:
'': 'index'
index: ->
alert "homepage"
javascript/jquery
Backboner.Routers.Entries = Backbone.Router.extend({
routes:
'': 'index'
index: function(){
alert("homepage");
}
});
更新:我做了建议的更改,但警报没有出现
Javascripts/Backboner.js
window.Backboner = {
Models: {},
Collections: {},
Views: {},
Routers: {},
init: function() {
new Backboner.Routers.Entries();
Backbone.history.start();
}
};
Javascripts/routers/entries.js
Backboner.Routers.Entries = Backbone.Router.extend({
routes: {
'': 'index'
},
index: function(){
return alert('homepage');
}
});
第二次更新:
将准备好的文件归档
window.Backboner = {
Models: {},
Collections: {},
Views: {},
Routers: {},
init: function() {
new Backboner.Routers.Entries();
Backbone.history.start();
}
};
$(document).ready(function() {
return Backboner.init();
});
第三次更新
清单文件
//= require jquery
//= require jquery_ujs
//= require underscore
//= require backbone
//= require backboner
//= require_tree ../templates/
//= require_tree .//models
//= require_tree .//collections
//= require_tree .//views
//= require_tree .//routers
//= require_tree .
简短的回答是肯定的,你应该在它周围放上花括号。将来,您可以通过单击Try CoffeeScript将CoffeeScript转换为Javascript。粘贴到CoffeeScript中,您将看到Javascript输出 请记住,CoffeeScript有很大的空白,所以您的原始问题格式不正确。应该是:
Backbone.Routers.Entries = Backbone.Router.extend
routes:
'': 'index'
index: ->
alert "homepage"
使用CoffeeScript网站提供:
Backbone.Routers.Entries = Backbone.Router.extend({
routes: {
'': 'index'
},
index: function() {
return alert("homepage");
}
});
有时,当我想在两者之间快速来回寻找一个混乱的情况时,我会使用这个工具。。。它至少尝试了自动Javascript->CoffeeScript转换
当然,对于Coffeescript->Javascript,您可以使用Coffeescript网站 谢谢,我做了你建议的更改,但是警报没有出现。我更新了OP。你知道为什么当我导航到索引时警报没有显示吗?你正在调用Backboner.history.start,而不是Backbone.history.startok,我将其更改为Backbone.history.start,但它仍然不起作用。您是否在某处调用Backboner.init?您确定定义Backboner.Routers.Entries的代码在初始化之前已被调用吗?当您在init调用中更新它时,结果是什么?您是否使用Firebug或类似的工具逐步完成了代码?