1

我正在尝试学习如何使用backbone.js。问题是我正在关注的教程(Railscast)正在使用coffeescript,我宁愿使用jquery。我知道如何将coffeescript 中的函数更改为jquery,但我不知道如何更改路由的定义

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

2 回答 2

0

有时当我想快速在两者之间来回切换以应对混乱的情况时,我会使用这个工具......它至少尝试了自动 Javascript -> CoffeeScript 转换。

使用 js2coffee.org 风险自负 :)

当然对于 Coffeescript -> Javascript 你可以使用 coffeescript 网站。

于 2012-09-15T14:34:41.637 回答
0

简短的回答是肯定的,你应该在它周围加上花括号。将来,您可以直接在CoffeeScript.org上通过单击“试用 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");
  }
});
于 2012-09-13T01:49:18.673 回答