sil*_*ter 2 coffeescript backbone.js
这让我疯狂了.我无法让简单的路由器工作......
jQuery ->
class MyRouter extends Backbone.Router
routes:
"" :"index"
"/list" :"showList"
"/item/:id" :"showItem"
index: =>
alert "index"
showList: =>
alert "get the lists"
showItem: (id)=>
alert "the item #{id}"
@app = window ? {}
@app = window.app ? {}
@app.myRouter = MyRouter
Backbone.history.start()
Run Code Online (Sandbox Code Playgroud)
我总是得到这个错误:
index.js:50Uncaught TypeError: Cannot call method 'start' of undefined
我看到了这一点:启动backbone.js历史记录时不能调用undefined的'start'.
但它没有帮助=(...
我确信这是一个简单的,但我有点卡在这里...请帮助......
您没有创建Backbone.Router的实例,因此Backbone.history.start()将失败.
@app.myRouter = new MyRouter()
Run Code Online (Sandbox Code Playgroud)
您发布的链接可以准确地告诉您问题所在:
TypeError:无法调用未定义**的方法'start'
嗯,由于某种原因Backbone.history是未定义的,所以没有启动方法.事实证明,一旦创建了一个至少有一个路由指定的控制器,Backbone.js就会创建一个名为Backbone.history(小写'h')的Backbone.History(大写'H')实例.这是有道理的,因为历史管理只有在有路由响应时才需要.
| 归档时间: |
|
| 查看次数: |
2854 次 |
| 最近记录: |