SORU
20 ŞUBAT 2013, ÇARŞAMBA


Bir rota ve Yeni bir Yönlendirici API kaynak arasındaki fark nedir?

Route Resource arasındaki farkı anlamaya çalışıyorum. Resource bildiğim kadarıyla Route başka bir Nesneye Route bir nesnenin alt yolları ayarlamanıza yardımcı olur. Ama onun belirsiz varsayılan adı da yolları için neler eşleme düşününce.

CEVAP
20 ŞUBAT 2013, ÇARŞAMBA


Lütfen 1.11.0'ten itibaren this.route this.resource yerine kullanıldığını Unutmayın. Kaynak: http://guides.emberjs.com/v1.11.0/routing/defining-your-routes/*

Ayrıntılı bir açıklama için post şuna bir bakın.

Bu yazı kaba bir özeti (biraz değiştirilmiş)

Hiç kaynak ve rota değişikliği beri bir sürü insan vardır adlandırma nasıl etkilediğini iki anlamı ve hakkında karıştı. Fark şu:

  • kaynak - bir şey (model)
  • rota - şey ile ilgili bir şey

Bu yönlendirici bir rota ve kaynak kullanma gibi olabilir yani:

App.Router.map(function() {
  this.resource("posts", { path: "/" }, function() {
    this.route("new", { path: "/new" });
  });
  this.route("another", { path: "/another" });
});

Bu, aşağıdaki yolları yaratılan ve kullanılan neden olur:

  • PostsRoute, PostsController, PostsView
  • PostsİndexRoute, PostsİndexController, PostsİndexView
  • PostsNewRoute, PostsNewController, PostsNewView
  • AnotherRoute, AnotherController, AnotherView

Bu örnekte görüldüğü gibi, kaynak etki alanı Denetleyicilerinin adlandırma,Yollar ve Manzaralar/("rota" mesajlar "kaynak). bağlı olarak değerlendirilir" yeni kullanılan oluşturulan Orijinal kaynak (Patrick M düzgün yorumlarda belirttiği gibi rahatsız edici olduğu için modifiye) Cite:

Bu yepyeni yaratacak bir kaynak oluşturduğunuzda demek ad. Bu ad almıştır kaynak ve çocuk yollarının hepsi eklenecektir.

Güncelleme: iç içe kaynakları ile daha karmaşık bir örnek

Aşağıdaki birden fazla iç içe kaynaklar ile örnek: daha karmaşık düşünün

App.Router.map(function() {
  this.resource("posts", { path: "/" }, function() {
    this.route("new", { path: "/new" });
    this.resource("comments", { path: "/comments" }, function() {
      this.route("new", { path: "/new" });
    });
  });
  this.route("another", { path: "/another" });
});

Bu durumda comments kaynak yeni bir ad oluşturur. Bu durumda elde edilen yolları takip edecek demektir.Yol gördüğünüz gibi, yorum kaynak Denetleyicisi ve Görünümü üst güzergahın adı öneki değildir.Başka bir kaynak içinde iç içe geçmiş bir kaynak ad (= yeni bir ad oluşturur) sıfırlar anlamına gelir.

  • PostsRoute, PostsController, PostsView
  • PostsİndexRoute, PostsİndexController, PostsİndexView
  • PostsNewRoute, PostsNewController, PostsNewView
  • CommentsRoute, CommentsController, CommentsView
  • CommentsNewRoute, CommentsNewController, CommentsNewView
  • AnotherRoute, AnotherController, AnotherView

Bu davranış da Ember Docs olarak açıklanmıştır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CruzerLite

    CruzerLite

    1 EKİM 2011
  • Nick Pitera

    Nick Pitera

    8 NİSAN 2006
  • Propaganda Time

    Propaganda T

    19 EYLÜL 2010