我正在研究Ember应用程序,目的是学习。我已经设置了一个UI,其中首次打开父路线和模板时会显示一个表格,例如左侧列中的今天项目,以及右侧区域的变化:有关项目的详细信息,新/的表单编辑项目,搜索等
我遇到的麻烦是,当我保存新项目时,父路线的左手表不会更新新项目。无法找到让路线刷新的方法。我来的壁橱是在模型上使用pushObject。
事情模板:
{{partial "things/table"}}
{{outlet}}
router.coffee
@resource "items", ->
@route "item", {path: "/:item_id"}
@route "new", {path: "/new"}
项目路线:
ItemsRoute = Ember.Route.extend(
model: -> @store.find 'item'
)
项目新路线:
ItemsNewRoute = Ember.Route.extend
renderTemplate: ->
this.render('items/form')
model: ->
@store.createRecord('item')
setupController: (controller, model)->
controller.set('model', model)
项目新控件:
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')
答案 0 :(得分:7)
submit: -> @model.save().then(this.didSave.bind(this), console.log('failed'));
didSave: function() {
console.log('saved');
var route = this.container.lookup("route:items.index"); // use the name of route you want to refresh
route.refresh();
}