这是我的路线,
define [
'apps/home/index/index'
'apps/home/edit/index'
'apps/home/about/aboutUs'
'apps/home/about/jobs'
],
(HomeIndex, EditIndex, aboutUsIndex, jobsIndex) ->
class Router extends Marionette.AppRouter
routes :
'' : 'indexPage'
'index' : 'indexPage'
'edit' : 'editApp'
'aboutUs' : 'aboutUsPage'
'jobs' : 'jobsPage'
indexApp : () ->
@homeIndex = new HomeIndex()
App.contentArea.show @homeIndex
editApp : () ->
@homeIndex = new EditIndex()
App.contentArea.show @homeIndex
aboutUsPage : () ->
@homeIndex = new aboutUsIndex()
App.contentArea.show @homeIndex
jobsPage : () ->
@homeIndex = new jobsIndex()
App.contentArea.show @homeIndex
但是当路由加载时(仅当它打开索引时),它将加载所有不必立即加载的文件。
所以,我想改成这样,以减少加载时间。
define [
'apps/home/index/index'
],
(HomeIndex) ->
class Router extends Marionette.AppRouter
routes :
'' : 'indexPage'
'index' : 'indexPage'
'edit' : 'editApp'
'aboutUs' : 'aboutUsPage'
'jobs' : 'jobsPage'
indexApp : () ->
@homeIndex = new HomeIndex()
App.contentArea.show @homeIndex
editApp : () ->
# LOAD 'apps/home/edit/index' file, if it has not loaded
@homeIndex = new EditIndex()
App.contentArea.show @homeIndex
aboutUsPage : () ->
# LOAD 'apps/home/about/aboutUs' file, if it has not loaded
@homeIndex = new aboutUsIndex()
App.contentArea.show @homeIndex
jobsPage : () ->
# LOAD 'apps/home/about/jobs' file, if it has not loaded
@homeIndex = new jobsIndex()
App.contentArea.show @homeIndex
这可能吗?如果是这样,我该怎么做,请指教。
答案 0 :(得分:1)
是的,这是可能的你可以使用Require.js来做到这一点,你需要做的只是在你的项目中使用这个库,并使你的应用程序结构像他所要求的那样......