2012-06-22 12 views
5

Bir yolu bir URL ile eşleştirmem gerekiyor. Yol, belirli bir modelden sonra URL'nin sonu olmalıdır, ancak bunu yapamıyorum. Ember.js, her zaman bir sonraki eğik çizgiyle eşleşmesini sonlandırır. Bu yönlendirici ileEmber.js Yönlendirme: url eşleşmesinin sonu

var router = Ember.Router.extend({ 
    location: 'history', 
    enableLogging: true, 
    root: Ember.Route.extend({ 
     index: Ember.Route.extend({ 
      route: '/' 

      repo: Ember.Route.extend({ 
       route: '/:repo_id', 

       index: Ember.Route.extend({ 
        route: '/' 
       }), 

       files: Ember.Route.extend({ 
        route: '/files', 

        index: Ember.Route.extend({ 
         route: '/' 
        }), 

        sub: Ember.Route.extend({ 
         route: '/:path' 
        }) 
       }) 
      }) 
     }) 
    }) 
}); 

:

  • /myrepo/files/root.repo.files.index
  • /myrepo/files/READMEroot.repo.files.sub maç olacak path=README
  • /myrepo/files/folder/README ile root.repo.files.sub maç olacak maç olacak ve /myrepo/files/folder/ çünkü path=folder yerine path=folder/README
  • beni yeniden yönlendirmek olacaktır

Alt yolun, eğik çizgi varken bile :path ile URL'nin sonuna eşleşmesi nasıl olabilir?

cevap

3

Bu işlevsellik ember.js deponun master dalına committed olmuştur. Bu, 1.0.0-pre2 yapısında değil, yeni bir sürüm çıkana kadar build Ember.js yourself ya da önceden oluşturulmuş bir sürüm bulmanız gerekecek.

Temel Kullanım

yerine iki nokta üst üste : ile dinamik segmentini önek, bir yıldız * kullanırlar. Normal bir dinamik özellik sadece sanki sunulacak

Ember.Route.extend({ 
    route: '/:repo_id/files/*path' 
}); 

yol parçasının: Rotanız benzer bir sözdizimi kullanır. Ancak, URL'de, eğik çizgi dahil olmak üzere files/'dan sonra bir şey içerecektir.