Как отобразить вид в маршрутизаторе додзё?

Я создал шаблон в додзё, выглядит так.

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

и импортировали некоторую библиотеку додзё и следуйте коду документации додзё.

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();
});

Я закончил получать значение ':id' в URL-адресе, но в консоли моего браузера отображается ошибка.

Uncaught TypeError: Cannot call method 'isVisible' of undefined

Это связано с тем, что для хэша местоположения не вызывается и не запускается шаблон, а идентификатор моего шаблона не совпадает ( id='test' и 'test/:id' ), потому что мне нужен динамический URL-адрес.

Заранее спасибо, благослови Господь.. ^_^


person Reylim    schedule 02.01.2013    source источник
comment
@Ladineko спасибо за ответ. Я прошу код или любые полезные ссылки, которые могут помочь мне использовать маршрутизатор додзё и отображать динамическую базу данных на «: id» (динамический маршрутизатор) в URL-адресе.   -  person Reylim    schedule 02.01.2013


Ответы (1)


Это просто пример того, как я это делаю, очень просто

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();
});
person Castro Roy    schedule 05.01.2016