在我成功删除项目后,我试图将页面重定向到主页,但它告诉我transtranTo不是函数。
这是我的代码:
import Route from '@ember/routing/route';
import Ember from 'ember';
import { inject as service } from '@ember/service';
/**
* @module lebtivity/routes/event
*/
export default Route.extend({
/**
* @type {Service}
*/
api: service(),
ajax: Ember.inject.service(),
/**
* @param {Object} params The parameters extracted from the URL.
* @return {Promise<Object>}
*/
model(params) {
return this.get('api').request(`/events/${params.slug}`);
},
actions:{
remove: function (model) {
console.log(model.id);
Ember.$.ajax({
method: "DELETE",
url: model.id,
success: function(data)
{
this.transitionTo('index');
}
})
}
}
});
答案 0 :(得分:0)
您的问题可能是this
不是您的想法。变量this
的范围可能在promise成功内。
您可以做的就是在调用DELETE之前定义另一个变量
let that = this;
并使用
that.transitionTo('index')
答案 1 :(得分:0)
使用箭头功能。像这样编写您的操作和“成功”功能:
actions: {
remove() {
$.ajax({
...
success: () => {
this.transitionTo('index')
}
});
}
}