2013-01-02 57 views
2

我在dojo中創建了一個模板,看起來像這樣。如何在dojo路由器中顯示視圖?

<div id="test" data-dojo-type="dojox.mobile.View" class="test"> 
    <h1>TESTER</h1> 
</div> 

並導入一些dojo庫並遵循dojo文檔的代碼。 「:ID」

require(["dojo/router"], function(router){ 
    router.register("test/:id", function(evt){ 
    // Will fire when the hash matches 
    // evt.params.id will contain what is passed in :id 
    }); 

    // Startup must be called in order to "activate" the router 
    router.startup(); 
}); 

我'在得到的值來完成的網址,但在我的瀏覽器控制檯顯示錯誤。

Uncaught TypeError: Cannot call method 'isVisible' of undefined 

這是因爲沒有所謂的模板,並觸發該位置的散列和我的模板的ID是不一樣的(ID =「測試」和「測試/:身份證」),因爲我需要一個動態網址。提前

謝謝你,上帝保佑..^_^

+0

,問題是一個例子嗎? – Ladineko

+0

@Ladineko謝謝你的回覆。我要求一個代碼或任何有用的鏈接,可以幫助我使用dojo的路由器,並在url中的':id'(動態路由器)上顯示動態數據庫。 – Reylim

回答

0

這只是我該怎麼辦呢,很簡單

require(["dojo/router", "dojo/dom"], function(router, dom){ 
    //Have a config, matching id/widget 
    var pages = { 
     "id1": "some/widget1", 
     "id2": "some/widget2", 
    } 
    router.register("test/:id", function(evt){ 
     //require the widget and place it in some div 
     require([pages[evt.params.id], function(Page){ 
      (new Page()).placeAt(dom.byId('somDiv')); 
     }); 
    }); 


    router.startup(); 
}); 
相關問題