商店应该知道风景吗?

Posted

技术标签:

【中文标题】商店应该知道风景吗?【英文标题】:Should the store know the view? 【发布时间】:2014-03-26 12:22:19 【问题描述】:

其实我是在玩煎茶触摸。有时我的商店需要知道我的观点。例如:

Ext.define('Ext.Panel', 
    id : 'myId',
    config : 
        padding: 5,
        fullscreen : true
    ,
    moo : null
);

Ext.define('Ext.data.Store', 
    fetchSomething : function() 
        // Fetch stuff and set moo of view like this:
        Ext.getCmp('#myid').moo = 'fetched Data';
    
);

这是一个普遍的问题。

商店可以设置视图的属性吗?

我认为是的,因为在商店中,如果您使用模板并加载数据,则在回调方法中您可以说view.setData(fetchedData)

商店是控制器还是模型?因为有时我会从 服务器并且必须更改结构以便视图可以使其可见。 例如,我得到一个数组并从中制作一个地图。

【问题讨论】:

【参考方案1】:

根据最佳实践,不,绝对不是!

sencha touch 数据系统允许视图在商店内容发生变化时自动更新。您需要使用数据视图或记录配置以及视图的 tpl 配置来连接这一切。

不久前,我在我的博客上为初学者写了(相当广泛的)关于这个的帖子,这将真正帮助你解决这个问题(我希望!)

http://senchatouchdev.com/wordpress/2014/01/03/an-overview-of-sencha-touch-2s-data-system/

简而言之:

模型 = 对您的应用将处理的数据类型的描述

记录 = 模型实例

存储 = 记录集合

视图 = 屏幕上显示的东西

Controller = 将您的应用连接在一起的引用/方法的集合

【讨论】:

你好,很好!谢谢你的解释:-)

以上是关于商店应该知道风景吗?的主要内容,如果未能解决你的问题,请参考以下文章

React Native 和 Redux 我应该每个场景/路线都有一个商店吗?

React / Flux:我应该让商店听取其他商店的更改吗?

视图应该直接打电话给商店吗?

新的 Android 应用可以替换 Play 商店中的现有应用吗?

我们应该为应用商店提交 iPhone 4 大小的屏幕截图吗?

C 连锁商店 (状压DP)