Pracuję nad aplikacją Ember z zamiarem uczenia się. Ustawiłem w interfejsie użytkownika, w którym nadrzędna trasa i szablon po pierwszym otwarciu zawiera tabelę, na przykład dzisiejszych pozycji w lewej kolumnie, oraz obszar po prawej, który zmienia się: szczegóły dotyczące przedmiotu, formularz dla nowego/edytuj element, szukaj itp.Ember aktualizuje model trasy nadrzędnej po zapisaniu zapisu
Problemem, który napotkam, jest to, że po zapisaniu nowego elementu tabela lewej ręki z trasy nadrzędnej nie jest aktualizowana o nowy element. Masz problem ze znalezieniem sposobu na odświeżenie tej trasy. Szafa, którą przyszedłem, polegała na użyciu pushObject na modelu.
rzeczy szablon:
{{partial "things/table"}}
{{outlet}}
router.coffee
@resource "items", ->
@route "item", {path: "/:item_id"}
@route "new", {path: "/new"}
przedmioty trasa:
ItemsRoute = Ember.Route.extend(
model: -> @store.find 'item'
)
szt nowa trasa:
ItemsNewRoute = Ember.Route.extend
renderTemplate: ->
this.render('items/form')
model: ->
@store.createRecord('item')
setupController: (controller, model)->
controller.set('model', model)
przedmiotów nowy kontroler:
ItemsNewController = Ember.ObjectController.extend(
needs: 'items'
actions:
submit: -> @model.save().then(console.log('saved'(, console.log('failed'))
cancel: -> @transitionTo('items')
transitionAfterSave: (->
if @get('content.id')
@transitionToRoute('items.item', @get('content'))
).observes('content.id')
Wonderful! Ogromna pomoc. Jak mogę znaleźć więcej informacji na temat tego obiektu, "this.container.lookup" itd.? Mam trudności ze znalezieniem czegokolwiek w przewodnikach lub dokumentach API. – hourback
to prywatny api (tylko kod źródłowy, brak dokumentów innych niż komentarze w kodzie), ale czasami trzeba się z nim skontaktować, by zrobić pewne rzeczy w aplikacji, możesz wyszukać wszystko w aplikacji, ale ryzykujesz, że spowoduje to problemy między nowymi aktualizacjami embera, jeśli zostaną zmienione w jakiś sposób, ponieważ prywatne api mogą zmieniać się tak często, jak im się podoba, więc nie zaleca się używania dużo, tylko w pewnych sytuacjach od czasu do czasu, jak to, głównie po prostu używam tego, aby wyglądać od czasu do czasu trasy w kontrolerach, z którymi muszę się komunikować – flylib