gpt4 book ai didi

ember.js - 如何在不触发观察者的情况下设置 Controller 的模型?

转载 作者:行者123 更新时间:2023-12-02 19:26:31 24 4
gpt4 key购买 nike

鉴于我有这个:

App.SomeController = Ember.ObjectController.extend({
autosave: function(){
//stuff
}.observes('content.text', 'content.colour', 'content.webfont')
});

如何在路由中设置 SomeController 的模型而不触发自动保存?

最佳答案

Emberjs 至少不支持暂停观察者in public api .

我解决这个问题的方法是创建一个标志:

App.SomeController = Ember.ObjectController.extend({
_suspendAutosave: false,
suspendAutosave: function(fn) {
this.set('_suspendAutosave', true);
fn();
this.set('_suspendAutosave', false);
},
autosave: function(){
if (this.get('_suspendAutosave')) { return; }
// some code ...
}.observes('content.text', 'content.colour', 'content.webfont')
});

在某个地方:

controller.suspendAutosave(function() {
controller.set('content.text', 'foo');
});

这并不酷,但这是我所知道的唯一方法。我希望它有帮助。

关于ember.js - 如何在不触发观察者的情况下设置 Controller 的模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18184459/

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