2012-09-13 93 views
1

我在学习如何使用backbone.js。问题是我正在使用的教程(Railscast)正在使用coffeescript,我宁愿使用jquery。我知道如何在CoffeeScript的改变功能的jQuery,但我不知道该怎么改一下路线Backbone.js:将此coffeescript转换成jquery

routes: 
    '': 'index' 

上午的这个定义我应该把它周围的括号?警报不起作用,所以我假定路线的定义出了问题。

这是原来的CoffeeScript

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"); 
    } 
}); 

更新:我提出了建议,但警报的没有出现变化。

的Javascript/Backboner.js

window.Backboner = { 
    Models: {}, 
    Collections: {}, 
    Views: {}, 
    Routers: {}, 
    init: function() { 
    new Backboner.Routers.Entries(); 
    Backbone.history.start(); 
    } 
}; 

的Javascript /路由器/ 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 . 

回答

0

简短的回答是肯定的,你应该把它周围的花括号。将来,您可以通过点击“Try CoffeeScript”在CoffeeScript.org上将CoffeeScript转换为Javascript。粘贴到CoffeeScript中,您将看到Javascript输出。

请记住,CoffeeScript有显着空白,所以你原来的问题是格式不正确。它应该是:它使用的CoffeeScript网站

Backbone.Routers.Entries = Backbone.Router.extend 

     routes: 
     '': 'index' 

     index: -> 

     alert "homepage" 

给出:

Backbone.Routers.Entries = Backbone.Router.extend({ 
    routes: { 
    '': 'index' 
    }, 
    index: function() { 
    return alert("homepage"); 
    } 
}); 
+0

谢谢,我做出了您所建议的更改,但警报没有出现。我更新了OP。你知道为什么当我导航到索引时警报没有显示吗? – Leahcim

+0

你是否启动路由器? –

+0

是不是我在OP的更新部分做了什么? – Leahcim

0

有时,当我要赶紧去来回在两者之间进行一个混乱的局面,我会使用这个工具..它至少会尝试自动化Javascript - > CoffeeScript转换。

Use js2coffee.org at your own risk :)

课程的CoffeeScript点 - >使用Javascript你可以使用CoffeeScript的网站。