Restangular POST returns 空 parentResource

Restangular POST returns empty parentResource

我不知道我是否理解得很好,但我猜想当你 post 使用来自服务器的先前 Restangular 元素时,它应该会产生一个带有第一个元素的 restangular 元素作为父资源。

看看这段代码:

// GET: api/vessels
var vessels = Restangular.all('vessels').getList();
this.vessel = vessels[0];

// POST: api/vessels/125/events
this.vessel
  .post('events', event)
  .then(event => { // the server returns the same object but with id filled
    this.vessel.events.push(event);
  }

所以事件应该以 'this.vessel' 作为父事件,但它是空的:

问题是,当我尝试 event.remove() 时,操作的 url 是 DELETE api/events/2703 而不是应有的 DELETE api/vessels/125/events/2703

我做错了什么?

我找到了答案。这是我应该做的:

// GET: api/vessels
var vessels = Restangular.all('vessels').getList();
this.vessel = vessels[0];

// POST: api/vessels/125/events
this.vessel
  .one('events')
  .post(null, event)
  .then(event => { // the server returns the same object but with id filled
    this.vessel.events.push(event);
  }