gpt4 book ai didi

javascript - 从 Ember.js 中的路由访问操作

转载 作者:可可西里 更新时间:2023-11-01 02:52:51 24 4
gpt4 key购买 nike

我正在更新以下路线:

App.SomeRoute = Ember.Route.extend({
events: {
getMore: function(){
var controller = this.get('controller'),
nextPage = controller.get('page') + 1,
perPage = controller.get('perPage'),
items;

items = this.events.fetchPage(nextPage, perPage);
controller.gotMore(items, nextPage);
},

fetchPage: function(page, perPage){
. . . .
}
}
});

在大多数情况下,它工作正常。但是,events 语法已被弃用。相反,我们假设使用 actions。更新效果很好,直到我到达该行:

items = this.events.fetchPage(nextPage, perPage);

这会引发错误:

TypeError: this.events is null

不幸的是,如果我将代码更新为:

items = this.actions.fetchPage(nextPage, perPage);
=> TypeError: this.actions is null

如何从同一路由中访问操作方法?

最佳答案

您必须使用 .send() 来调用操作散列中的函数。示例:

    App.SomeRoute = Ember.Route.extend({
actions: {
getMore: function(){
var controller = this.get('controller'),
nextPage = controller.get('page') + 1,
perPage = controller.get('perPage'),
items;

items = this.send('fetchPage', nextPage, perPage);
controller.gotMore(items, nextPage);
},

fetchPage: function(page, perPage){
.. . .
}
}
});

关于javascript - 从 Ember.js 中的路由访问操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18928864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com