canjs can.route и can.route.delegate, слушать, когда свойство имеет определенное значение?

Я использую canJs с плагином can.Map.delegate, и мне бы этого хотелось, но это не работает, в консоли не отображается «ok».

Не могли бы вы помочь мне ?

    $(function() {

      var Routing = can.Control({
        '{can.route} id=3': function(data) {
          console.log("ok");
         }
      });

      var routeDelegate = can.route(":id");
      can.route.ready();
      routeDelegate.delegate("id", "set");

      new Routing(document);

      can.route.attr("id", 3);

    });

Благодарить


person Phane    schedule 19.01.2014    source источник


Ответы (1)


Как насчет использования can.Control.route?

http://canjs.com/docs/can.Control.route.html

$(function() {

    var Routing = can.Control({
        ':id route': function(data) {
            console.log(data); // logs: Object { id="3"}
        }
    });

    new Routing(document);

    can.route.ready();

    can.route.attr("id", 3);

});

Это делает все простое сопоставление для вас, после чего у вас есть параметры в объекте данных.

Здесь есть хороший 2 пейджер с обоими типами маршрутов:

http://bitovi.com/blog/2012/05/hashchange-routing-can-route-1.html


Примечание. Я переместил can.route.ready(); немного позже, чтобы обновление браузера активировало элемент управления.

person complistic    schedule 28.01.2014