我有 Backbone 应用程序这里是代码:
这是 Main.coffee :
require ["App/app","backbone"] ,(App,Backbone)->
app = new App()
Backbone.history.start()
这是 app.coffee :
class AppRouter extends Backbone.Router
routes :
"" : 'Base'
"Browse/:id" : "Details"
initialize : ->
@render()
Browse : (id) ->
console.log "Hello"
stud = new Student({UserKey:id})
stud.fetch({
success :->
$('#content').html new View({model:stud}).el
})
null
这是我的观点。咖啡
define ['jquery'
,'underscore'
,'backbone'
,'text!/Templates/Student/View.htm'] , ($ , _ , Backbone , ViewTemplate) ->
class StdView extends Backbone.View
#_.templateSettings = { interpolate: /\{\{(.+?)\}\}/g };
#template : _.template(View)
initialize : (options) ->
@render()
render :->
console.log @model.toJSON()
#@setElement @template @model.toJSON()
@
这是我的视图模板(用于显示学生的详细信息)
<input type="text" name="firstname" value="{{FirstName}}" placeholder="First Name" />
<input type="text" name="lastname" value="{{LastName}}" placeholder="Last Name" />
这些项目被呈现到一个带有链接的表格中,我从该链接单击编辑按钮以获取详细信息。这是渲染 id 的模板部分。
<td>
<a class="btn btn-small btn-inverse" href="#browse/{{UserKey}}"><i class="icon-edit icon-white"></i></a>
</td>
现在我已经启动了 Backbone.history.start() 。但是,如果我单击链接,例如:/browse/1,它就不会使用它应该使用的 Browse 方法。它没有发生。单击时在浏览器上呈现的链接是这样的
http://localhost:40921/#browse/5
那么到底哪里出错了??????