2013-01-17 2 views
0

저는 Backbone.js를 처음 사용 했으므로 일부 라우터 구현 유형의 차이점을 정확히 이해하지 못합니다.Backbone.js 라우터 구현

1 유형 :

var Workspace = Backbone.Router.extend({ 
     routes:{ 
      '*filter': 'setFilter' 
     }, 

     setFilter: function(param) { 
      // Set the current filter to be used 
      Common.TodoFilter = param.trim() || ''; 

      // Trigger a collection filter event, causing hiding/unhiding 
      // of the Todo view items 
      Todos.trigger('filter'); 
     } 
    }); 

2 유형 :

var AppRouter = Backbone.Router.extend({ 

     routes: { 
      // default 
      '*actions': 'defaultAction' 
     } 

    }); 

    var initialize = function() { 

     var router = new AppRouter(); 

     router.on('route:defaultAction', function(actions) { 

      var homeView = new HomeView(); 
      homeView.render(); 

     }); 

     Backbone.history.start(); 

    }; 

    return { 
     initialize: initialize 
    }; 

따라서, 1 형 및 기능 router.on 정상 콜백 (에는, setFilter)의 차이점은 무엇 ('route : defaultAction', function (actions)?

답변

1

백본에서 Catalog of Events :

"행 [이름]"(PARAMS) - 특정 경로가 일치 할 때 라우터 횟수.

따라서 router.on('route:defaultAction'...은 경로가 매치 될 때마다 라우터에 의해 시작되는 이벤트에 바인딩됩니다. 라우터 자체에서 콜백 할 필요는 없지만 route-hash 또는 route -function 호출로 경로를 정의해야합니다.

첫 번째 방법은 경로를 함수와 일치시키는 가장 기본적인 방법이며 the routes -object입니다. 라우터의

라우트 기능에 대한 매개 변수를 해시 맵의 URL을이 도움이

희망!

+0

설명해 주셔서 감사합니다. – Potty