在這個簡單的要求/骨幹網應用Require.js模塊沒有看到骨幹Router.js
https://github.com/thisishardcoded/require-prob
爲什麼app.js看到路由器,但TestView.js不是?
這裏是app.js
define(['router'],function (Router) {
第一線,這裏是TestView.js
define(['backbone','router'],function(Backbone,Router){
檢查出完整的詳細信息,下載回購的第一線,運行和檢查控制檯日誌如果你覺得如此傾向
謝謝! Jim
更多:好的,答案是 - 因爲它的加載順序,即使改變了,我有一個循環依賴不是嗎? TestView需要路由器,路由器需要TestView。
在這種情況下,解決方案可能是
var r=require('router);
r.navigate or whatever
但是,這似乎是一個恥辱,路由器是不能直接訪問無處不在,是上述方法中好的做法呢?
謝謝,是的,我從那以後意識到我有一個循環依賴 - 我想我正在考慮路由器在整個應用程序可用的單身人士,所以......這是考慮好的做法是繞過路由器,也可以使用require()內聯來說話嗎? – Jim 2013-05-01 09:52:25
我試圖解決你在路由器中查看路由的問題。但是現在,既然您已經問過這個問題的好壞,我想我不會選擇這種方式,因爲它會導致組件緊密結合。相反,我會讓路由器監聽視圖的事件並調用視圖的方法。所以如果視圖需要路由器做某件事情,它會觸發事件。如果路由器需要使用視圖,它將調用它的公共方法。 – 2013-05-01 12:13:30