gpt4 book ai didi

ember.js - 如何观察 Ember 中不断变化的查询参数?

转载 作者:行者123 更新时间:2023-12-04 10:00:27 26 4
gpt4 key购买 nike

如何在 Ember.js 中观察多个查询参数,使用 query-params-new , 没有在 observes() 中明确列出每一个, 或 property() .

假设我有以下查询参数列表:

queryParams: [
'first',
'second',
'third',
'fourth',
'fifth',
'sixth',
'seventh',
'eighth',
'ninth',
'tenth'
],

first: null,
second: null,
third: null,
fourth: null,
fifth: null,
sixth: null,
seventh: null,
eighth: null,
ninth: null,
tenth: null

我想在 Controller 中有一个方法来观察所有这些属性,但不必列出它们,例如:
something: function() {
...
}.property('first', 'second', 'third', ...)

编辑:

我遍历了 queryParams数组,并在相应的属性上为每个对象设置一个观察者,如下所示:
init: function () {
this._super();
var queryParams = this.get('queryParams');
var self = this;
queryParams.forEach(function (param) {
self.addObserver(param, self, 'updateSelectedOptionsIfQueryParamsChange');
});
},

它按预期工作。有没有更好的方法来做到这一点,或者这是正确的?

最佳答案

当查询参数更改操作时 queryParamsDidChange被解雇。这可以在 Controller 或路由中使用,以在查询参数更改时触发您需要运行的任何逻辑。

例子:

App.ApplicationRoute = Ember.Route.extend({
actions: {
queryParamsDidChange: function() {
// do some funky stuff
}
}
});

Example jsbin来自 the PR

关于ember.js - 如何观察 Ember 中不断变化的查询参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22418582/

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