use*_*740 3 router global object requirejs backbone.js
我正在使用requirejs开发我的第一个项目.我有一个路由器和一个视图,我想在单击一个项目时从视图中访问我的Router.navigate()方法.我使用CoffeeScript.如何让路由器全球化?
router.coffee:
define [
'jquery'
'backbone'
'application/views/mainView'
'application/models/app'
],($,Backbone,MainView,App)->
class Router extends Backbone.Router
routes:
'organisation': 'organisationScreen'
'*actions': 'organisationScreen'
constructor:() ->
super @routes
initialize:()->
Backbone.history.start() #pushState: true
console.log " The Route Initialized"
organisationScreen:()->
$('.slides').fadeOut()
$('.confBlock').removeClass('onshow')
$('.organisationsBlock').addClass('onshow')
Run Code Online (Sandbox Code Playgroud)
view.coffee
define [
'jquery'
'backbone'
'application/views/conferenceView'
],($,Backbone,ConferenceView)->
class OrganisationView extends Backbone.View
#el: '#appcontainer'
tagName : 'li'
className : 'organisation'
events:
'click .org-item' : 'choice'
template : _.template($('#Organisation-template').html())
initialize : ()->
...
render: ()->
...
choice:(ev)->
# Call Router.navigate()
Run Code Online (Sandbox Code Playgroud)
一切Router::navigate都是打电话Backbone.history.navigate所以我会用它.这是来源
choice: (ev)->
Backbone.history.navigate(...);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1978 次 |
| 最近记录: |