gpt4 book ai didi

javascript - 我应该在模型还是商店中指定代理?

转载 作者:行者123 更新时间:2023-11-28 16:26:48 25 4
gpt4 key购买 nike

我对跨平台移动开发还比较陌生,最近正在学习一些有关如何在我的应用程序中使用 Sencha Touch 的基本教程。我对他们的方法论的不一致感到困惑。所以这是我的问题:

我正在使用MVC设计模式。在定义用于在应用程序中存储数据的代理时,我应该在模型中还是在商店中执行此操作?我已经看到这两种方法都完成了,但不确定哪个更好,或者每种情况应该使用。以下是我的意思的示例:

商店中定义的代理:

App.stores.users = new Ext.data.Store({
model: 'User',
autoLoad: true,

proxy: {
type: 'localstorage',
id: 'sencha-users'
}
});

模型中定义的代理:

App.models.User = Ext.regModel('User', {
fields: [
{
name: 'email',
type: 'string'
}, {
name: 'firstname',
type: 'string'
}, {
name: 'lastname',
type: 'string'
}, {
name: 'password',
type: 'string'
}
],

proxy: {
type: 'localstorage',
id: 'sencha-users'
}
});

最佳答案

他们将其留给您,因为这是一个实现决策。将其与模型绑定(bind)的便利性决定了强大的一对一关系。

在 ExtJS 3.3.1 及更低版本中,代理始终与存储绑定(bind)。直到 Sencha Touch 和 ExtJS 4 才允许您直接绑定(bind)到模型。

我能想到将其与模型联系起来的最佳原因是保持其独立性。

Defining Proxies directly on a Model is a new approach in version 4—its main benefit is that we can easily load and save Model data without creating a Store, as we did in ExtJS 3.

编辑

抱歉,如果我的解释有点高水平。

商店视为模型的集合。

商店可以通过使用为商店定义的代理来自行了解如何填充这些模型。 或者模型可能已经知道如何通过定义代理来填充自身。

如果我说得不够清楚,请告诉我。 :)

关于javascript - 我应该在模型还是商店中指定代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7742117/

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